这里外层循环遍历应该是arr.length-k,否则是多遍历一次的,修改一下条件,k为几,就遍历几次,就对了
来源:5-5 第K个最大值(2)

肝帝神
2019-11-13
export default (arr, k) => {
let len = arr.length
for (let i = len, tmp; i > len - k; i–) {
for (let j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
tmp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = tmp
}
}
}
return arr[len - k]
}
写回答
1回答
-
快乐动起来呀
2019-11-13
可以在 LeetCode 提交下代码过一下测试用例看看有没有漏洞
00
相似问题