题目链接

https://www.acwing.com/problem/content/788/

思路

先用一种nlog2nnlog_2nnlog2​n的排序算法排序,然后输出第k个元素即可

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
int n,a[N];void mysort(int a[],int l,int r) {if(l >= r) return;int x = a[l + r >> 1],i = l - 1,j = r + 1;while(i < j) {while(a[++i] < x);while(a[--j] > x);if(i < j) swap(a[i],a[j]);}mysort(a,l,j);mysort(a,j+1,r);
}int main()
{int k;scanf("%d%d",&n,&k);for(int i = 0;i < n; ++i) {scanf("%d",&a[i]);}mysort(a,0,n-1);printf("%d\n",a[k-1]);return 0;
}

AcWing 786. 第k个数相关推荐

  1. 伍六七带你学算法 入门篇-最小的k个数

    java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...

  2. 剑指offer 40.最小的 K 个数 python代码

    题目 寻找数组中的最小的k个数,也叫topk问题. 牛客网测试地址 注意: 牛客网的提交需要将最终的结果排序 思路 快速排序的 partition() 方法,会返回一个整数 j 使得 a[l-j-1] ...

  3. 剑指offer: 面试题40. 最小的k个数

    题目:最小的k个数 入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1] ...

  4. 【每日一题】 面试题 17.14. 最小K个数

    面试题 17.14. 最小K个数

  5. C++100w个数中找出最大的前K个数

    /*100w个数中找出最大的前K个数*/ #include <iostream> using namespace std; #include <assert.h> const ...

  6. C++实现用堆求最小的k个数

    参考:http://t.jobdu.com/thread-8094-1-1.html http://blog.chinaunix.net/uid-26548237-id-3513260.html ht ...

  7. 寻找最大的K个数(上)

    这是一道很经典的题目,有太多方法了,今天写了两种方法,分别是快排和堆排序 1 #include <iostream> 2 using namespace std; 3 #define N ...

  8. 算法试题 - 找出最小 k 个数

    题目 题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 解析 思路1 这一题应用堆排序算法复杂度只有O(nlog k), ...

  9. 【剑指offer-Java版】30最小的K个数

    最小的K个数: 思路一:类似于第29题,直接进行Partion,直到返回值未K – 缺点是需要修改输入的数据 思路二:维护一个大顶堆,然后遍历一次给定数组 如果当前堆元素小于K个 那么直接将当前元素加 ...

最新文章

  1. IP 公司与GPU IP
  2. 为什么这门技术如此重要?错过这次黄金期,就晚了!
  3. R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充、线条色彩、分组、均值线)实战(density plot)
  4. 如何强化应用安全能力,全面拦截 Log4j 漏洞攻击
  5. win7 IIS 和 ASP.NET的配置
  6. 【Eclipse 字符集】Eclipse在哪里设置字符集?三个位置,分别控制不同的范围
  7. 男子趁前女友熟睡翻开眼皮,刷脸转走15万!支付宝:几率很小
  8. 【python】python中execl的操作
  9. 服务器遭受***后的处理过程
  10. pcl_viewer 常用实用指令
  11. 绕过杀软(二)——免杀exe文件(360、火绒免杀)
  12. MySQL安装配置教程(超级详细、保姆级)
  13. css重复,css3重复渐变效果
  14. linux内核编译及config配置
  15. 最详细的虚拟机安装教程
  16. 用户故事地图(User Story Mapping)之初体验
  17. 2016美国大选数据分析
  18. Linux就该这么学——Day2
  19. 3.2 回溯法—N皇后问题
  20. SQL数据库中BAK文件的备份和还原

热门文章

  1. python 内置函数:iter()
  2. 更改项目文件夹图标(程序图标)
  3. Oracle数据库修改用户密码
  4. 【算法导论】第5章,概率分析和随机算法
  5. Django积木块八——三级联动
  6. UVALive 6533
  7. uboot环境变量(设置bootargs向linux内核传递正确的参数)
  8. Visual Studio 11更名为“Visual Studio 2012”,RC版(与.NET 4.5一起)开放下载
  9. 螺旋矩阵的上下左右四指针解法
  10. SCOM2007R2上监控TMG之部署Agent