Open lynhao opened 5 years ago
解题一:
function maxKValue(arr, k) {
return arr.sort((a, b) => b -a)[k-1]
}
利用冒泡排序原理, 不需要将所有数据遍历一次,只要冒泡k次即可
解题二:
function maxKValue(arr, k) {
let len = arr.length - 1
for (let i = len, temp; i > len - k; i--) {
for (let j = 0; j < i; j++){
if (arr[j] > arr[j+1]) {
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr[len - (k -1)]
}
题目: 在未排序数组中找到第k个最大元素 (请注意: 你需要找的是数组排序后第k个最大的元素,而不是第k个不同的元素)