class Solution {
public:
vector<int> smallestK(vector<int>& arr, int k) {
vector<int> res;
priority_queue<int> q;//默认为大顶堆,用greater就是小顶堆
for(int a : arr) {
q.push(a);
if(q.size() > k) {
q.pop();
}
}
while(!q.empty()) {
res.push_back(q.top());
q.pop();
}
return res;
}
};
求最小k个数
最新推荐文章于 2024-08-27 14:41:49 发布