class Solution
{
public:
vector smallestK(vector& arr, int k){
vector vect;
priority_queue, greater > 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 个。
- 快排思想



