leetcode 剑指 Offer 40. 最小的k个数

83 阅读1分钟

c++

class Solution {
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
        priority_queue<int, vector<int>, greater<int>> heap;
        vector<int> ans;
        for (int num : arr) {
            heap.push(num);
        }
        for (int i = 0; i < k; i++) {
            ans.push_back(heap.top());
            heap.pop();
        }
        return ans;
    }
};

js

var getLeastNumbers = function(arr, k) {
    arr.sort((a, b) => a - b);
    return arr.slice(0, k);
};