小顶堆,堆顶为最小元素
空间复杂度O(K)
#include<queue>
class Finder {
public:
int findKth(vector<int> a, int n, int K) {
// write code here
priority_queue<int, vector<int>, greater<int>> Q;
for(auto x : a){
Q.push(x);
if(Q.size() > K){ //保证堆中不超过K个元素
Q.pop();
}
}
return Q.top();
}
};
京公网安备 11010502036488号