剑指 Offer 40. 最小的k个数
题目描述:
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。
示例:
输入:arr = [3,2,1], k = 2
输出:[1,2] 或者 [2,1]
输入:arr = [0,1,2,1], k = 1
输出:[0]
思路:
先判断k是否超过数组的长度
然后进行排序(升序或者降序都可以,
最后再进行slice()
代码:
var getLeastNumbers = function(arr, k) {
if(k>arr.length) return [];
arr.sort((a,b)=>a-b);
return arr.slice(0,k);
// return arr.sort((a, b) => a - b).slice(0, k);
};