53. 最小的k个数
作者:
catlle
,
2022-09-15 18:05:42
,
所有人可见
,
阅读 151
class Solution {
public:
vector<int> getLeastNumbers_Solution(vector<int> input, int k) {
vector<int> nums;
//对原数组进行排序
sort(input.begin(), input.end());
//将排序好后的数组中的前k个元素放到一个新数组中
for(int i = 0; i < k; i++)
nums.push_back(input[i]);
return nums;
//堆的做法
// priority_queue<int> heap;
// for(int 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;
}
};