一、题目描述

二、解题思路

肯定要先排序,我们可以使用快速排序或者堆排序等等,或者就是STL中的sort函数

/* class Solution { public: vector<int> getLeastNumbers(vector<int>& arr, int k) { priority_queue<int, vector<int>, greater<int>> q; auto len = arr.size(); for(auto i = 0; i < len; i++) q.push(arr[i]); vector<int> sln; for(int i = 0; i < k; i++){ sln.push_back(q.top()); q.pop(); } return sln; } }; */
class Solution {
   
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
   
        sort(arr.begin(), arr.end());
        vector<int> sln;
        for(int i = 0; i < k; i++)
            sln.push_back(arr[i]);
        return sln;
    }
};

三、运行结果

上面sort排序,下面堆排序