Skip to content

LeetCode题解:剑指 Offer 40. 最小的k个数,sort,JavaScript,详细注释 #259

@chencl1986

Description

@chencl1986

原题链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/

解题思路:

  1. 将数组从小到大排序。
  2. 遍历已排序数组,依取出前k个元素。
/**
 * @param {number[]} arr
 * @param {number} k
 * @return {number[]}
 */
var getLeastNumbers = function(arr, k) {
  let result = []; // 存储结果
  arr.sort((a, b) => a - b); // 将数组从小到大排序

  // 从已排序的数组中取出k个元素
  for (let i = 0; i < k; i++) {
    result.push(arr[i]);
  }
  
  return result;
};
/**
 * @param {number[]} arr
 * @param {number} k
 * @return {number[]}
 */
var getLeastNumbers = function(arr, k) {
  return arr.sort((a, b) => a - b).splice(0, k)
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions