AcWing 786. 第k个数
题目链接
https://www.acwing.com/problem/content/788/
思路
先用一种nlog2nnlog_2nnlog2n的排序算法排序,然后输出第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个数相关推荐
- 伍六七带你学算法 入门篇-最小的k个数
java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...
- 剑指offer 40.最小的 K 个数 python代码
题目 寻找数组中的最小的k个数,也叫topk问题. 牛客网测试地址 注意: 牛客网的提交需要将最终的结果排序 思路 快速排序的 partition() 方法,会返回一个整数 j 使得 a[l-j-1] ...
- 剑指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] ...
- 【每日一题】 面试题 17.14. 最小K个数
面试题 17.14. 最小K个数
- C++100w个数中找出最大的前K个数
/*100w个数中找出最大的前K个数*/ #include <iostream> using namespace std; #include <assert.h> const ...
- C++实现用堆求最小的k个数
参考:http://t.jobdu.com/thread-8094-1-1.html http://blog.chinaunix.net/uid-26548237-id-3513260.html ht ...
- 寻找最大的K个数(上)
这是一道很经典的题目,有太多方法了,今天写了两种方法,分别是快排和堆排序 1 #include <iostream> 2 using namespace std; 3 #define N ...
- 算法试题 - 找出最小 k 个数
题目 题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 解析 思路1 这一题应用堆排序算法复杂度只有O(nlog k), ...
- 【剑指offer-Java版】30最小的K个数
最小的K个数: 思路一:类似于第29题,直接进行Partion,直到返回值未K – 缺点是需要修改输入的数据 思路二:维护一个大顶堆,然后遍历一次给定数组 如果当前堆元素小于K个 那么直接将当前元素加 ...
最新文章
- IP 公司与GPU IP
- 为什么这门技术如此重要?错过这次黄金期,就晚了!
- R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充、线条色彩、分组、均值线)实战(density plot)
- 如何强化应用安全能力,全面拦截 Log4j 漏洞攻击
- win7 IIS 和 ASP.NET的配置
- 【Eclipse 字符集】Eclipse在哪里设置字符集?三个位置,分别控制不同的范围
- 男子趁前女友熟睡翻开眼皮,刷脸转走15万!支付宝:几率很小
- 【python】python中execl的操作
- 服务器遭受***后的处理过程
- pcl_viewer 常用实用指令
- 绕过杀软(二)——免杀exe文件(360、火绒免杀)
- MySQL安装配置教程(超级详细、保姆级)
- css重复,css3重复渐变效果
- linux内核编译及config配置
- 最详细的虚拟机安装教程
- 用户故事地图(User Story Mapping)之初体验
- 2016美国大选数据分析
- Linux就该这么学——Day2
- 3.2 回溯法—N皇后问题
- SQL数据库中BAK文件的备份和还原