代碼優化 – 求數組中的第 K 個最大元素
- 2019 年 11 月 13 日
- 筆記
題目要求:

解法一:
直接用 sort 從大到小排序,取第 k 個
var findKthLargest = function (nums, k) { nums.sort((a, b) => { return b - a }); return nums[k - 1]; };
解法二(優化性能):
使用冒泡排序,取倒數第 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]; };