剑指 Offer 40. 最小的k个数

102 阅读1分钟

剑指 Offer 40. 最小的k个数

两层for循环,找k次最小的数,然后放入最前面,就是满足条件的最小的k个数

var getLeastNumbers = function (arr, k) {
    if (k == 0) return []
    for (var i = 0; i < arr.length; i++) {
        for (var j = i; j < arr.length; j++) {
            if (arr[i] > arr[j]) {
                var mid = arr[i]
                arr[i] = arr[j]
                arr[j] = mid
            }
        }
        if (i + 1 == k) return arr.slice(0, k)
    }
};