第六题 Sort对于超大量的数据输出前n个最大的数据(思想还是hash)

来源:互联网 发布:拍照软件里有小动物 编辑:程序博客网 时间:2024/06/06 20:05
//这一次居然是因为这里的j++写成了j--我也是醉了。。
//不要挤着眼敲代码,你还没到那个时候!!!!!
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <string.h>


using namespace  std;


int buf[1000001];


int main()
{
    int n;
    int m;
    int tmp;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        memset(buf,0,sizeof(int));


        for(int i=0;i<n;i++)
        {
            scanf("%d",&tmp);
            buf[tmp+500000]++;
        }
        int cnt=0;
        for(int j=1000000;j>=0;j--)//这一次居然是因为这里的j++写成了j--我也是醉了。。
        {
            if(cnt==m)break;
            if(buf[j])
            {
               cnt++;
               printf("%d ",j-500000);
            }
        }
        printf("\n");
    }
    return 0;
}
阅读全文
0 0