题目要求:

代码优化 - 求数组中的第 K 个最大元素

 

 

解法一:

直接用 sort 从大到小排序,取第 k 个

var findKthLargest = function (nums, k) {
      nums.sort((a, b) => { return b - a });
      return nums[k - 1];
};

 

解法二(优化性能):

使用冒泡排序,取倒数第 k 个

代码优化 - 求数组中的第 K 个最大元素

var findKthLargest = function (nums, k) {
  for (var i = nums.length - 1; i > nums.length - k - 1; i--) {
    var temp;
    for (var j = 0; j < i; j++) {
      if (nums[j] > nums[j + 1]) {
        temp = nums[j + 1];
        nums[j + 1] = nums[j];
        nums[j] = temp;
      }
    }
  }
  return nums[nums.length - k];
};

 

相关文章:

  • 2022-01-06
  • 2021-08-17
  • 2021-09-14
  • 2022-12-23
  • 2021-08-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-27
  • 2022-02-01
  • 2022-01-08
  • 2021-12-07
  • 2021-07-08
  • 2021-04-19
相关资源
相似解决方案