class Solution {
public:
//priority_queue 实现堆排序 push pop
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
vector<int> ret;
if(k==0)
return ret;
priority_queue<int,vector<int>,less<int>> pq;
for(int i=0;i<input.size();i++)
{
if(i<k)
{
pq.push(input[i]);
}else{
if(input[i]<pq.top())
{
pq.pop();
pq.push(input[i]);
}
}
}
while(!pq.empty())
{
ret.push_back(pq.top());
pq.pop();
}
return ret;
}
};

京公网安备 11010502036488号