题目描述
查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。
输入描述:
输入有多组数据。 每组输入n,然后输入n个整数(1<=n<=1000),再输入k。
输出描述:
输出第k小的整数。
示例1
输入
6 2 1 3 5 2 2 3
输出
3
#include <iostream>
#include <queue>
using namespace std;
bool mark[1001];
int main() {
int n;
while(cin >> n) {
int t;
for (int i = 0; i <= 1000; i++) {
mark[i] = 0;
}
for (int i = 1; i <= n; i ++) {
cin >> t;
mark[t] = 1;
}
int k;
cin >> k;
int cnt = 0;
for (int i = 1; i <= 1000; i ++) {
if (mark[i] == 1) {
cnt++;
if (cnt == k ) {
cout << i << endl;
break;
}
}
}
}
}