//53. 最小的k个数
/*
可以将整个数组排序后输出
也可以用堆来实现(维护当前最小的 K 个数)
需要两个操作:
删除最大的数
插入一个数
*/
class Solution {
public:
vector<int> getLeastNumbers_Solution(vector<int> input, int k) {
priority_queue<int> heap;
for(auto x:input)
{
heap.push(x);
if(heap.size()>k)heap.pop();//弹出最大的数
}
vector<int> res;
while(heap.size())res.push_back(heap.top()),heap.pop();
reverse(res.begin(),res.end());
return res;
}
};