【路飞】面试题 17.14. 最小K个数 js

99 阅读1分钟

设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。

示例:

输入: arr = [1,3,5,7,2,4,6,8], k = 4

输出: [1,2,3,4]

提示:

0 <= len(arr) <= 100000 0 <= k <= min(100000, len(arr))

解题: 先排序再截取

/**
 * @param {number[]} arr
 * @param {number} k
 * @return {number[]}
 */
var smallestK = function(arr, k) {
   let newArr = arr.sort(function(a,b){return a-b});
   let subArr = newArr.slice(0,k)
   return subArr
};