小吴,第二题的算法有错哦,只考虑了最简单的情况,只有一个连续串的情况。个人觉得前一半代码没问题,后面那段if块要修改一下😃 ``` let arr = [3, 4, 5, 7, 8, 9, 10]; function getRes(arr) { let res = []; let temp = []; for (let i = 0; i < arr.length; i++) { if (arr[i] + 1 == arr[i + 1]) { temp.push(arr[i]); temp.push(arr[i + 1]) } else { res.push([...temp]); temp.length = 0; } } res = res.map(serie => [...new Set(serie)]); res.forEach(serie => { if (serie.length >= 3) { let i = arr.indexOf(serie[0]); let j = arr.indexOf(serie[serie.length - 1]); let tmp = ""; tmp = serie[0] + "-" + serie[serie.length - 1]; arr.splice(i, j - i + 1, tmp);//将原数组中的数字用转换过后的格式替换掉 } }); return arr; } console.log(getRes(arr).join(",")); ```
点赞 评论

相关推荐

迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享

牛客热帖

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务