(分治)7617:输出前k大的数
描述
给定一个数组,统计前k大的数并且把这k个数从大到小输出。
输入
第一行包含一个整数n,表示数组的大小。n < 100000。
第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。
第三行包含一个整数k。k < n。
输出
从大到小输出前k大的数,每个数一行。
样例输入
10
4 5 6 9 8 7 1 2 3 0
5
样例输出
9
8
7
6
5
我の思考
这个题看起来不难,数字比较大,就是希望我们在时间上能少一点,然后我们就去避免把去排序所有的数字。我们就假设这个k值,分成大于k的和小于k的。如果我们要输出的k比排序后得到的大的部分的数组相等或者要小,我们就排序这里的。如果还欠了数字,我们就把剩下的小数组里面取出排在前n-k个的。
我の代码
#include <iostream> #include <algorithm> using namespace std; int x[100005]; int b[100005]; int c[100005]; int j=0; int m=0; bool cmp(int one,int two){return one>two; }void func(int* a,int k,int y){sort(a,a+y,cmp);for(int n=0;n<k;n++){cout<<a[n]<<endl;}if(k-1<=y){return;}if(k-1>y){func(b,k-y,j);} }int main() {int n;cin>>n;for(int i=0;i<n;i++){cin>>x[i];}int k;cin>>k;for(int i=0;i<n;i++){if(x[i]<k){b[j]=x[i];j++;}else{c[m]=x[i];m++;}}func(c,k,m);return 0; }
我の小结
其实之前还不熟悉sort函数的用法还有头文件QAQ,然后发现自己写的代码还是有点臃肿。
转载于:https://www.cnblogs.com/rimochiko/p/7486958.html
(分治)7617:输出前k大的数相关推荐
- C语言(CED)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。
)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出. [输入] 第一行包含一个整数n,表示数组的大小. 第二行包含n个整数,表示数组的元素,整数之间以一个 ...
- 信息学奥赛一本通(1235:输出前k大的数)——堆排序
1235:输出前k大的数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12715 通过数: 4043 [题目描述] 给定一个数组,统计前k大的数并且把这 ...
- 输出前k大的数(信息学奥赛一本通-T1235)
[题目描述] 给定一个数组,统计前k大的数并且把这k个数从大到小输出. [输入] 第一行包含一个整数n,表示数组的大小.n < 100000. 第二行包含n个整数,表示数组的元素,整数之间以一个 ...
- C++ 输出前K大的数
1:输出前k大的数 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小输出. ...
- [Hash应用问题] 例3.2 给出n个整数,按从大到小的顺序输出前m大的数
题目描述: 给出n个整数,请按从大到小的顺序输出前m大的数. 输入: 每组测试数据又两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500 ...
- yt练手1004输出前m大的数hash
Home Page DIY Contests Problems Ranklist Status Statistics 前m大的数 Time Limit : 2000/1000ms (Java/Othe ...
- n个数中输出前m大的数
描述 n个数,要求输出其中的m个最大数 想法1 开辟辅助数组,用插入排序,将前m最大数插入到辅助数组中,时间复杂度O(n*m) 想法2 类似快速排序的想法,将前m大的数都聚到最左边,再进行一次排序输出 ...
- 第k大的数python代码_【Python】【输出前m大的数】
问题: 给定一个数组包含n个元素,统计前m个大的数,并把这m大的数从大到小排列给出 输入 第一行为一个整数,表述要输出的前m个数 第二行为n个整数,给出需要排序的数组 输出 从大到小的m大的数 例子 ...
- [leetcode]堆排序 求前k大的数
前一篇博客中写到了排序算法,其中包含一个堆排序,因此本篇博客讲解堆这个数据结构及其应用. 关于最大堆最小堆以及初始建堆和整理堆在上篇博客中有提及,此处不再赘述.下面讲解一个堆的重要应用,求n个数中前k ...
最新文章
- centos 6.8 启动损坏修复实验
- Python 办公自动化,一键给PDF文件加密,超方便
- 『Tarjan算法 无向图的双联通分量』
- 纯javascript 幻灯片
- 无法解析的外部符号 __imp____glutInitWithExit@12
- java 建造者实际中的用法_java中j建造者模式详解和使用方法
- 拍照实力再升级!三星Galaxy S11系列将有望搭载潜望镜头
- 浅谈jquery中prop()和attr()
- Node.JS——NodeJS引用路径的小问题
- Intellij IDEA--导入导出配置
- 计算机专业的英文简历范文带翻译,英文个人简历带翻译【英文简历范文带翻译】...
- VS2010的项目配置属性中文对照
- 分类模型confusion matrix混淆矩阵可视化
- Cocos2d-x 3.X, IOS版添加广点通插屏广告
- 基于simulink的风力机房温度控制系统仿真
- gic lpi its
- 港科喜讯 | 香港科大校长史维教授获法国政府颁授勋章
- ORA-01029,ORA-01033错误处理
- 2.4、PHP数组与数组结构
- Dism 错误 0x800f0806
热门文章
- 最简单的视频编码器:编译(libx264,libx265,libvpx)
- 最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)
- linux定时任务被挖矿修改,Linux挖矿威胁情报分享(被植入计划任务)
- java lock unlock_【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
- Java使用IntelliJ IDEA配置Maven并管理一个webapp项目
- 搜索,贪心,DP,三者的区别和联系
- 江苏省级计算机一级b理论,江苏省计算机一级B理论部分复习资料.doc
- 2018 Multi-University Training Contest 1
- 最长回文子序列与最长回文子串
- 待起飞的の集训8.5