每日一练---codewars6 Range Extract

2020-08-12  本文已影响0人  即将牛逼的蛋蛋

补课!!昨天落下了一天,今天加倍练习。

[-6, -3, -2, -1, 0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20]
return "-6,-3-1,3-5,7-11,14,15,17-20"
题目意思呢 是连续的且超过三个以上,用范围表示,其他原样输出
难度:4kyu

思路

下面就开始动手吧,能动手的尽量少动嘴

function solution(list) {
    // 第一层循环
    for (var i = list.length - 1; i >= 0; i--) {
        // 第二层循环,从 0 开始最大值为 i ,
        for (var j = 0; j <= i; j++) {
            // 索引的差值和值的差值 是否相等  值得差值是否大于2  是的话 说明连续
            if (list[i] - list[j] >= 2 && list[i] - list[j] == i - j) {
                var str = list[j] + '-' + list[i]
                // 数组截取
                list.splice(j, i - j + 1, str);
            }
        }
    }
    // 最后join() 方法变为字符串  大功告成
    return list.join()
}

solution([-6, -3, -2, -1, 0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20])
// , "-6,-3-1,3-5,7-11,14,15,17-20"
上一篇下一篇

猜你喜欢

热点阅读