题解 | 查找第K小数

查找第K小数

https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd

#include <stdio.h>
#include <stdlib.h>
int compare(const void *a,const void *b){
int x=*(int *)a;
int y=*(int *)b;
return x-y;
}
int main() {
   int n;
   while(scanf("%d",&n)!=EOF){
   int shu[1001];
   for(int i=0;i<n;i++){
    scanf("%d",&shu[i]);
   }
    qsort(shu,n,sizeof(int),compare);
    int count=1;
    int k;
    scanf("%d",&k);
    if(k==1) printf("%d",shu[0]);
     else {
    for(int i=1;i<n;i++){
        if(shu[i]!=shu[i-1]) count++;
        if(count==k) {printf("%d\n",shu[i]);
        break;
        }
    } 
    }

   }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务