Problem P05. [算法课分治] 寻找第 k 个最大元素
给定整数数组 numsnums 和整数 k,请找到数组中第 k 个最大的元素。
输入
第一行输入两个整数,第一个代表数组的长度,第二个代表 k,数字与数字之间用空格间开
第二行输入一行数字代表数组 numsnums。数字与数字之间用空格间开
- 1≤k≤nums.length≤1000
- −1000≤nums[i]≤1000
输出
输出一个整数代表第 k 个最大元素
样例
标准输入复制文本 |
6 2 3 2 1 5 6 4 |
标准输出复制文本 |
5 |
标准输入复制文本 |
9 4 3 2 3 1 2 4 5 5 6 |
标准输出复制文本 |
4 |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
sort(nums.begin(), nums.end(), greater<int>());
return nums[k-1];
}
};
int main() {
Solution s;
int n, k;
cin >> n >> k;
vector<int> v(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
}
int result = s.findKthLargest(v, k);
cout << result << endl;
return 0;
}