牛客网 查找第K小数
题目描述
查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。
输入描述:
输入有多组数据。 每组输入n,然后输入n个整数(1<=n<=1000),再输入k。
输出描述:
输出第k小的整数。
示例1
输出
复制3
1 #include <iostream> 2 #include <algorithm> 3 #include <string> 4 #include <cstring> 5 #include <stack> 6 #include <cstdio> 7 #include <queue> 8 using namespace std; 9 int n,m; 10 int a[1005]; 11 int main() 12 { 13 while(cin>>n){ 14 for(int i=0;i<n;i++) cin>>a[i]; 15 cin>>m; 16 sort(a,a+n); 17 for(int i=1;i<n;i++){ 18 if(a[i]>a[i-1]){ 19 m--; 20 if(m==1){ 21 cout<<a[i]<<endl; 22 break; 23 } 24 } 25 } 26 } 27 return 0; 28 }