Code Optimization - seeking array K-th largest element

Topics requirements:

 

 

Solution one:

Directly sort descending order, taking the k-th

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

 

Solution two (to optimize performance):

Using bubble sort, taking the reciprocal of the k-th

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];
};

 

Guess you like

Origin www.cnblogs.com/Leophen/p/11823622.html