方法一,先将数组排序,然后得到前k个数即可。

    1. class Solution {
    2. public:
    3. vector<int> getLeastNumbers(vector<int>& arr, int k) {
    4. sort(arr.begin(), arr.end());
    5. vector<int> res;
    6. for (int i=0;i<k;++i) {
    7. res.push_back(arr[i]);
    8. }
    9. return res;
    10. }
    11. };

    leedcode通过:

    1. 执行用时:20 ms, 在所有 C++ 提交中击败了91.48% 的用户
    2. 内存消耗:18.6 MB, 在所有 C++ 提交中击败了47.90% 的用户