问题标题: 酷町堂:5326

0
0

0
已采纳
陈曦
陈曦
资深天翼
资深天翼

思路:

    桶排序,然后找到第k小的整数

 

核心: 


    for(int i=1;i<=30000;i++){
        if(a[i]){
            cnt++;
            if(cnt==k){
                cout<<i;
                return 0;
            } 
        }
    } 

 

0
0
汪宇航
汪宇航
新手启示者
新手启示者

int n,a[1000000],b[1000000],k,cnt=0;

cin>>n>>k;

for(int i=1;i<=n;i++){

scanf("%d",&a[i]);

b[a[i]]+=1;

}

for(int i=1;i<=30000;i++){

if(b[i]){

cnt++;

if(cnt==k){

cout<<i;

return 0;

}

}

}

cout<<"NO RESULT";

 

 

对了,帮我一下这道题

https://wenda.codingtang.com/questions/12993/

我要回答