# k整数 在计算机编程中,我们经常会遇到需要找到一组数字中k的数的情况。这个问题在很多算法和数据结构中都有应用,比如排序算法、堆等。本文将介绍一种常见的解决方案,并用Python代码示例进行说明。 ## 问题描述 给定一个由整数组成的列表,我们需要找到其中k的数。例如,对于列表[1, 3, 2, 5, 4],如果k=3,则k的数是2。 ## 解决方案 一种常见的解决方案
原创 2023-08-28 06:13:24
156阅读
此处经常会作为面试题!!! 整数池目的:节省内存,提高执行效率需要注意的是:Python实现int的时候有个整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出整数池,范围是[-5,256],该范围内的整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。另外创建变量的值如果相同的话,创建的时间间隔又比较短,那么他们的内存空间的
使用快速排序可以快速求出某串数字的k整数
原创 2021-08-26 11:31:31
1537阅读
题目描述 现有n个正整数,n≤10000,要求出这n个正整数中的k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000。 输入输出格式 输入格式: 第一行为n和k; 第二行开始为n个正整数的值,整数间用空格隔开。 输出格式: k个最小整数的值;若无解,则输出“NO RES
原创 2021-06-04 22:15:36
286阅读
使用快速排序可以快速求出某串数字的k整数
原创 2022-01-04 17:43:14
105阅读
题目描述​ 现有n个正整数,n≤10000,要求出这n个正整数中的k个最小整数(相同大小的整数只的数据保证 1≤n≤10000,1≤k≤1000,正整数均小于
原创 2022-12-27 12:50:19
272阅读
Time Limit: 10 secondMemory Limit: 2 MB问题描述现有n个整数,n≤10000,要求出这n个正整数中的k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000Input第一行为n和k,第二行开始为n个正整数的值,整数间用空格隔开。 Outp...
转载 2017-10-06 19:23:00
105阅读
2评论
python堆排序堆排思路建立大根堆:将数组中所有数入堆,即对所有数进行一遍 heap_insert() 操作;将该大根堆堆顶元素与堆中最后一个元素交换,然后 heap_size - 1 ;对当前堆顶变化的元素,进行一次 heapify() 操作,使heap重新变为大根堆;重复2~3步骤,直至 heap_size = 1 .堆排序代码实际上主要是写清楚heap_insert()和heapify()
维护一个
原创 2022-08-16 14:54:41
61阅读
1138 连续整数的和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5 + 6,或7 + 8。如果不
原创 2021-07-15 14:43:47
127阅读
LINK#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+10;#define mid (l+r>>1)int n,m,li[maxn<<2],top,a[maxn];struct p{ int type,l,r,k;}q[maxn];int sum[maxn<<9],ls[maxn<<9],rs[maxn<<9],id;int rt
原创 2021-08-26 15:14:00
63阅读
LINK#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+10;#define mid (l+r>>1)int n,m,li[maxn<<2],t
原创 2022-02-06 14:46:52
63阅读
#include <bits/stdc++.h>using namespace std;int findk(int a[], int start.........
原创 2022-12-28 15:32:29
83阅读
要在一个序列里找出K元素,可以用排序算法,然后再找。可以证明,排序算法的上界为O(nlogn)。在这里,给出两种可以在线性时间内找出K元素的方法。方法1:(1) 选定一个比较小的阈值(如44),当序列元素小于阈值时,直接用排序算法来做;(2) 当序列元素大于阈值时,把元素划分为以5个元素为一组,每一组元素自身作排序,然后挑出每一组元素的中间值,再在所有的中间值中,递归调用本算法,挑出中间值
求解k小数 分治思想 、 快排思想 ~
原创 2022-08-29 11:18:52
200阅读
1. 问题 设L是n个元素的集合,从L中选取k的元素,其中1<=k<=n.这里的k元素是指,当L按从小到大排好序之后,排在k个位置的元素。2. 解析  ①k=|S1|+1,m*就是所要找的k的数;(以m*为划分标准后,比m*的有|S1|个,如果恰巧k=|S1|+1,则m* 就是所要找的k的数)②k <=|S1|
给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15
原创 2022-07-15 11:36:23
25阅读
1138 连续整数的和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5...
转载 2017-12-31 21:47:00
57阅读
2评论
Description 【问题描述】 从n个数中选若干(至少1)个数求和,求所有方案中k的和(和相同但取法不同的视为不同方案)。【输入格式】 第一行输入2个正整数n,k。 第二行输入这n个正整数。【输出格式】 输出k的和。【样例输入】5 121 2 3 5 8【样例输出】8【样例解释】 前1
转载 2017-09-28 19:03:00
108阅读
2评论
1393: 线段树 k的数时间限制: 1 Sec  内存限制: 128 MB提交: 59  解决: 17[提
原创 2023-07-07 13:30:02
30阅读
  • 1
  • 2
  • 3
  • 4
  • 5