寻找第k大数字(numberk)

来源:互联网 发布:淘宝收货地址管理 编辑:程序博客网 时间:2024/05/22 15:09
                           Time Limit: 10sec    Memory Limit:256MB

Description
经过长时间的筹备工作,在Jourk,Ronny,Plipala,阿长,阿沈等人的努力下,DM实验室建立起自己的系列网站,其中包括三个大板块:DMOJ首页、DMOJ论坛、DMOJ博客。
作为一个大型的网站,数据的加工处理需要用到很多算法系统模块,通过这些模块对系统主数据库进行修改。因此,在构建DMOJ系列网站的过程中,编写了一个庞大的数据统计系统,其中包括一个寻找第k大数字的模块,对于一个数据库来说,这样一个模块的重要性不容置疑。但是,由于在修改网站的过程中,这个模块被不慎删掉了,DMOJ找到了聪明的你,希望你能帮DMOJ重写这个模块。
对于输入数据,你将按数据要求找出n个数字中的第k大数字。
关于第k大数字的解释:对于一个数字序列,计算该数字序列第k大数字,一种可行但效率不高的方法是,首先剔除数字序列中重复的数字,然后通过某种排序算法,获得剔除重复数字后的数字序列从大到小排序的数字序列,然后取从大到小排序的数字序列的第k位的数字。从另一个角度,题目中的第k大数字即是不计入数字序列中数字重复出现的部分,对于数字重复出现的情况,应该认为该数字只出现一次。
现在请聪明的你尝试设计一种可行且效率更高的方法来解决这个问题。
Input
输入数据一共有三行。
第一行有一个正整数n(n<=10000000),表示一共给出多少个数字。
第二行有一个正整数k(k<=10000000),表示要求你找出第k大数字。
第三行有n个整数,给出n个数字。对于每个整数i,均满足-10000000<=i<=10000000。
Output
输出文件共一行,包含一个整数,表示n个数字中第k大数字是多少。
Sample Input
Copy sample input to clipboard
3
2
2006 2007 2008
Sample Output
2007
Hint
不能使用algorithm的sort/qsort函数

思路

用普通的算法肯定会超时,我们直接用优先队列,插进去的时候直接是有序的,我们按照升序的方式来用优先队列,使得队列始终只有k个元素,到最后队列顶端的数就是第k大的数

#include <iostream>#include <queue>#include <vector>using namespace std;priority_queue<int, vector<int>, greater<int>> q, p;bool visited[20000002];int main() {    int num, temp, tag;    cin >> num >> tag;    while(num--) {        cin >> temp;        if(visited[10000000+temp] == false) {            q.push(temp);            visited[10000000+temp] = true;        } else {            continue;        }        if(q.size() > tag) {            q.pop();        }    }    cout << q.top() << endl;    p.push(1);    p.push(2);    cout << p.top() << endl;    return 0;}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 中药药性歌诀 中医入门歌诀 络穴歌诀 历史歌诀 中医歌诀 通窍活血汤歌诀 十二背俞穴歌诀 中医方剂歌诀 八脉交会歌诀 中医内科歌诀 龟形地歌诀 针灸歌诀背诵 方剂歌诀方歌和趣味速记大全 十二原穴歌诀巧记 频湖脉学歌诀 中医入门必背歌诀 中医必背口诀歌诀 薏苡仁汤汤头歌诀 上中下通用痛风方歌诀 生长歌词 生长吧歌词 男人哭吧哭吧不是罪歌词 随他吧歌词 散了吧歌词 随它吧歌词 跟我走吧歌词 我们结婚吧 歌词 我们结婚吧歌词金志文 那就这样吧 歌词 随它吧英文版歌词教学 人类呀爱我吧歌词 爱大了吧受伤了吧歌词 算了吧的歌词 歌词来吧朋友 那就这样吧的歌词 蹦吧啦中文歌词 神啊救救我吧歌词 算了吧放了吧歌词 蹦吧啦歌词 男人哭吧不是罪歌词 说你爱我吧歌词