题解 | #大根堆——寻找第K大#
寻找第K大
https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf
/*将a中的元素全部存入大根堆,并将前k个大的元素存入res数组,最后的答案在res数组的最后一个位置*/
#include <queue>
#include <vector>
class Solution {
public:
int findKth(vector<int> a, int n, int K) {
// write code here
vector<int> res;
priority_queue<int> q;
for(int i = 0;i<a.size();++i) q.push(a[i]);
for(int j=0;j<K;++j) {
res.push_back(q.top());
q.pop();
}
return res[K-1];
}
};
查看8道真题和解析
