- 采用优先队列,按照升序排列数组;
- 将最小的k个数放入结果。
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
if (k > input.size()) return {};
vector<int> result;
priority_queue<int,vector<int>, greater<int>> pq;
for (auto in : input) {
pq.push(in);
}
while (k--) {
result.push_back(pq.top());
pq.pop();
}
return result;
}
};