美文网首页
每日一练---codewars5

每日一练---codewars5

作者: 即将牛逼的蛋蛋 | 来源:发表于2020-08-11 17:49 被阅读0次

    蛇形 emmm 就当是贪吃蛇吧
    看到的时候想到了贪吃蛇 沿边边开始吃
    难度:4kyu

    1、思路  贪吃蛇吃一个 那就少一个    从左上到右上  从右上到右下  
    2、吃完边上一圈的时候  我把整个数组翻转  然后再把数组内的元素(数组) 翻转  再继续吃  从左上到右上  从右上到右下
    
    var snail = function (array) {
        // 最后的结果数组
        var result = [];
        // while 循环,当 array 长度为0,说明被吃完了
        while (array.length) {
            // 直接拿第一排  因为一开始肯定吃第一横排
            result.push(...array.shift())
            // 吃完第一排之后
            // [4, 5, 6],
            // [7, 8, 9]
    
            // 然后吃第二横排的最后一个
            // 依次往下吃下一横排的最后一个
            for (var i = 0; i < array.length; i++) {
                result.push(array[i].pop())
            };
            // 这是吃完最右边边上的 都吃完了  这时候整个数组瘦了边上一圈 从左上到右上  从右上到右下
            // [4, 5],
            // [7, 8]
    
            // 然后反转整个数组 ,数组内的数组也翻转
            array.reverse();
            for (var i = 0; i < array.length; i++) {
                array[i].reverse();
            };
            // [8, 7],
            // [5, 4]
    
            // 然后继续开始吃, while 循环
        }
        return result
    }
    // snail([[]])
    // []
    
    // snail([[1]])
    // [1]
    
    // snail([
    //     [1, 2, 3],
    //     [4, 5, 6],
    //     [7, 8, 9]
    // ])
    // [1, 2, 3, 6, 9, 8, 7, 4, 5]
    
    // snail([
    //     [ 1,  2,  3,  4,  5],
    //     [ 6,  7,  8,  9, 10],
    //     [11, 12, 13, 14, 15],
    //     [16, 17, 18, 19, 20],
    //     [21, 22, 23, 24, 25]
    // ])
    // // [1, 2, 3, 4, 5, 10, 15, 20, 25, 24, 23, 22, 21, 16, 11, 6, 7, 8, 9, 14, 19, 18, 17, 12, 13]
    
    // snail([
    //     [ 1,  2,  3,  4,  5, 6],
    //     [20, 21, 22, 23, 24, 7],
    //     [19, 32, 33, 34, 25, 8],
    //     [18, 31, 36, 35, 26, 9],
    //     [17, 30, 29, 28, 27, 10],
    //     [16, 15, 14, 13, 12, 11]])
    // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
    

    各位看官,留下你的小心心,好嘛

    相关文章

      网友评论

          本文标题:每日一练---codewars5

          本文链接:https://www.haomeiwen.com/subject/lrmydktx.html