题目描述
查找一个长度为 n
的数组中第 k
小的数。
注意,相同大小算一样大,如 2 1 3 4 5 2 中,第三小的数为 3
。
输入格式
第一行包含整数 n
。
第二行包含 n
个整数,表示数组中元素。
第三行包含整数 k
。
输出格式
输出第 k
小的整数。
数据保证有解。
样例
数据范围
1≤k≤n≤1000
数组中元素取值范围 [1,10000]
输入样例:
6
2 1 3 5 2 2
3
输出样例:
3
blablabla
----------
### 算法1
##### (暴力枚举) $O(n^2)$
blablabla
#### 时间复杂度
#### 参考文献
#### C++ 代码
blablabla
----------
### 算法2
##### (暴力枚举) $O(n^2)$
blablabla
#### 时间复杂度
#### 参考文献
#### C++ 代码
include [HTML_REMOVED]
include [HTML_REMOVED]
include [HTML_REMOVED]
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
set<int> num;
int n;
cin >>n;
while(n --)
{
int x;
cin >> x;
num.insert(x);
}
int o = 0;
int k = 0;
cin >> k;
for(auto i : num)
{
o ++;
if(o == k)
{
cout << i << endl;
return 0;
}
}
return 0;
}
```