第K大数,用小顶堆实现,堆中的其他元素都大于堆顶元素。
class Solution {
public:
int findKth(vector<int> a, int n, int K) {
priority_queue<int,vector<int>,greater<int>> min_heap{};
for(int i=0;i<K;i++) min_heap.push(a[i]);
for(int i=K;i<n;i++){
if(a[i]>min_heap.top()){
min_heap.pop();
min_heap.push(a[i]);
}
}
return min_heap.top();
}
};