描述 
给定一个数组,统计前k大的数并且把这k个数从大到小输出。

输入 
第一行包含一个整数n,表示数组的大小。n < 100000。 
第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。 
第三行包含一个整数k。k < n。

输出 
从大到小输出前k大的数,每个数一行。

样例输入 
10 
4 5 6 9 8 7 1 2 3 0 
5

样例输出 




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大的数相关推荐

  1. C语言(CED)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。

    )输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出. [输入] 第一行包含一个整数n,表示数组的大小. 第二行包含n个整数,表示数组的元素,整数之间以一个 ...

  2. 信息学奥赛一本通(1235:输出前k大的数)——堆排序

    1235:输出前k大的数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 12715     通过数: 4043 [题目描述] 给定一个数组,统计前k大的数并且把这 ...

  3. 输出前k大的数(信息学奥赛一本通-T1235)

    [题目描述] 给定一个数组,统计前k大的数并且把这k个数从大到小输出. [输入] 第一行包含一个整数n,表示数组的大小.n < 100000. 第二行包含n个整数,表示数组的元素,整数之间以一个 ...

  4. C++ 输出前K大的数

    1:输出前k大的数 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小输出. ...

  5. [Hash应用问题] 例3.2 给出n个整数,按从大到小的顺序输出前m大的数

    题目描述: 给出n个整数,请按从大到小的顺序输出前m大的数. 输入: 每组测试数据又两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500 ...

  6. yt练手1004输出前m大的数hash

    Home Page DIY Contests Problems Ranklist Status Statistics 前m大的数 Time Limit : 2000/1000ms (Java/Othe ...

  7. n个数中输出前m大的数

    描述 n个数,要求输出其中的m个最大数 想法1 开辟辅助数组,用插入排序,将前m最大数插入到辅助数组中,时间复杂度O(n*m) 想法2 类似快速排序的想法,将前m大的数都聚到最左边,再进行一次排序输出 ...

  8. 第k大的数python代码_【Python】【输出前m大的数】

    问题: 给定一个数组包含n个元素,统计前m个大的数,并把这m大的数从大到小排列给出 输入 第一行为一个整数,表述要输出的前m个数 第二行为n个整数,给出需要排序的数组 输出 从大到小的m大的数 例子 ...

  9. [leetcode]堆排序 求前k大的数

    前一篇博客中写到了排序算法,其中包含一个堆排序,因此本篇博客讲解堆这个数据结构及其应用. 关于最大堆最小堆以及初始建堆和整理堆在上篇博客中有提及,此处不再赘述.下面讲解一个堆的重要应用,求n个数中前k ...

最新文章

  1. centos 6.8 启动损坏修复实验
  2. Python 办公自动化,一键给PDF文件加密,超方便
  3. 『Tarjan算法 无向图的双联通分量』
  4. 纯javascript 幻灯片
  5. 无法解析的外部符号 __imp____glutInitWithExit@12
  6. java 建造者实际中的用法_java中j建造者模式详解和使用方法
  7. 拍照实力再升级!三星Galaxy S11系列将有望搭载潜望镜头
  8. 浅谈jquery中prop()和attr()
  9. Node.JS——NodeJS引用路径的小问题
  10. Intellij IDEA--导入导出配置
  11. 计算机专业的英文简历范文带翻译,英文个人简历带翻译【英文简历范文带翻译】...
  12. VS2010的项目配置属性中文对照
  13. 分类模型confusion matrix混淆矩阵可视化
  14. Cocos2d-x 3.X, IOS版添加广点通插屏广告
  15. 基于simulink的风力机房温度控制系统仿真
  16. gic lpi its
  17. 港科喜讯 | 香港科大校长史维教授获法国政府颁授勋章
  18. ORA-01029,ORA-01033错误处理
  19. 2.4、PHP数组与数组结构
  20. Dism 错误 0x800f0806

热门文章

  1. 最简单的视频编码器:编译(libx264,libx265,libvpx)
  2. 最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)
  3. linux定时任务被挖矿修改,Linux挖矿威胁情报分享(被植入计划任务)
  4. java lock unlock_【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
  5. Java使用IntelliJ IDEA配置Maven并管理一个webapp项目
  6. 搜索,贪心,DP,三者的区别和联系
  7. 江苏省级计算机一级b理论,江苏省计算机一级B理论部分复习资料.doc
  8. 2018 Multi-University Training Contest 1
  9. 最长回文子序列与最长回文子串
  10. 待起飞的の集训8.5