【发布时间】:2022-01-05 04:33:07
【问题描述】:
我正在与名为 Range Extraction 的 codewars kata 苦苦挣扎 - 它以递增顺序获取整数列表,并以范围格式返回格式正确的字符串(重叠的单独间隔)。
示例解决方案:
([-6, -3, -2, -1, 0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20]);
// returns "-6,-3-1,3-5,7-11,14,15,17-20"
在我的解决方案中,我没有得到-6,-3-1,3-5,7-11,14,15,17-20,而是得到了最后一项-6,1,5,11,15,20。
如何改进我的解决方案?代码:
function solution(list){
let result=[]
for(let i=0;i<list.length;i++){
let e2=list[i]
let e1 = result[result.length-1]
if(e2-e1==1){
result[result.length-1]=e2
}
else{
result.push(e2 )
}
}
return result
}
console.log(solution([-6, -3, -2, -1, 0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20]))
【问题讨论】:
-
顺便说一句,我必须完全重新格式化您的问题才能理解它在说什么。如果您想得到答案,请尽量使您的问题清晰易读。
-
请原谅我,我的英语不好,下次我会尽力解决问题,谢谢你的努力
标签: data-structures stack range extract overlap