「每日LeetCode」2021年9月3日

本文最后更新于:2023年3月19日 晚上

面试题 17.14. 最小 K 个数

面试题 17.14. 最小 K 个数

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

1
2
输入: 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))

思路

偷懒一下,sort 后返回前 k 个

解答

1
2
3
4
5
6
7
8
9
/**
* @param {number[]} arr
* @param {number} k
* @return {number[]}
*/
var smallestK = function (arr, k) {
arr.sort((a, b) => a - b);
return arr.slice(0, k);
};