class Solution
{
public:
vector<int> smallestK(vector<int>& arr, int k){
vector<int> vect;
priority_queue<int,vector<int>, greater<int> > a; //放入优先队列,并升序排序
for (auto n : arr)
{
a.push(n);
}
for (int i = 0; i < k; ++i)
{
vect.push_back(a.top()); //前 k 个放入 vect
a.pop(); //放入后就 pop 掉
}
return vect;
}
};
- 还有先直接 sort(),再遍历前 k 个。
- 快排思想