这里外层循环遍历应该是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 提交下代码过一下测试用例看看有没有漏洞

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程