某跳动面试官:写个斜着打印矩阵叭。

493 阅读1分钟

如题,比如这样的二维数组矩阵
12345678
12345678
12345678
输出123234345456567678。

代码

let foo = (arr) => {
    let i = 0, j = 0;
    while (i <= arr[0].length - arr.length) {
        while (j < arr.length) {
            console.log(arr[j][i]);
            j++;
            i++;
        }
        j = 0;
        i = i - arr.length + 1;
    }
}

测试

let arr1 =
    [[1, 2, 3, 4, 5, 6, 7, 8],
    [1, 2, 3, 4, 5, 6, 7, 8],
    [1, 2, 3, 4, 5, 6, 7, 8]]

let arr2 =
    [[1, 2, 3, 4, 5, 6, 7],
    [1, 2, 3, 4, 5, 6, 7],
    [1, 2, 3, 4, 5, 6, 7],
    [1, 2, 3, 4, 5, 6, 7],
    [1, 2, 3, 4, 5, 6, 7]]


foo(arr1)
console.log(`*******************`);
foo(arr2)

image.png

image.png


记录记录!