两点优化项

来源:11-3 JavaScript 实现:选择排序

慕用6828665

2021-01-27

let fn = (arr) => {
// 长度要减去1,剩下最后一个值的时候,一定是最大值,不需要针对它遍历
for(let i = 0; i < arr.length - 1; i++){
let minIndex = i;
// j应该从当前值的下一个开始比较,自身与自身比较没有意义
for(let j = i + 1; j < arr.length; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
//
// console.log(minIndex)
if(i != minIndex){
let temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
console.log(arr)
}

写回答

2回答

纯情掉了一地

2021-08-28

j = i+1的话 ,下面也不用再if判断了

0
0

lewis

2021-02-03

good

0
1
纯情掉了一地
而且 j = i+1 之后,下面也就不用判断了。。。。
2021-08-28
共1条回复

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2479 学习 · 683 问题

查看课程