[路飞]_leetcode-面试题 17.14-最小K个数

68 阅读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))

sort

解题思路

本题要求返回最小的 k 个数,可以直接对数组元素进行升序排序,返回排序后的前 k 个元素即可。

e844bc21ab952b52fe52da08107d760.png

代码实现

var smallestK = function(arr, k) {
  arr.sort((a,b) => a-b)
  // 返回排序后的前 k 个数字
  return arr.slice(0,k)
};