1174.查找第k小数

题目描述:

查找一个数组的第K小的数,注意同样大小算一样大。
如 2 1 3 4 5 2 第三小数为3。

输入:

输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000),再输入k。

输出:

输出第k小的整数。

样例输入:

6
2 1 3 5 2 2
3

 

样例输出:

3
#include<iostream>
#include<algorithm> 
using namespace std;

int main(){
    int n,i,k;
    int a[1001];
    while(cin>>n){
        for(i=0;i<n;i++){
            cin>>a[i];
        }
        sort(a,a+n);
        cin>>k;
        if(k==1) cout<<a[0]<<endl;
        else{
            k--;
        for(i=1;i<n;i++){
            if(a[i]!=a[i-1]){
            k--;
            if(k==0)
            {
                cout<<a[i]<<endl;break;
            }
        }
        }
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/bernieloveslife/p/9735171.html