题解 | 蛇形矩阵

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    while ((line = await readline())) {
        let tokens = line.split(" ");
        let n = parseInt(tokens[0]);
        let martix = Array.from({ length: n }, () => Array(n));
        let count = 1;
        for (let i = 0; i < n; i++) {
            let row = i,
                col = 0;
            while (row >= 0) {
                martix[row][col] = count;
                count++;
                row--;
                col++;
            }
        }
        martix.forEach((item) => {
            console.log(item.join(" "));
        });
    }
})();

先建一个二维矩阵,然后按行的坐标是递减的,列的坐标是递增的去填入数字,就相当于沿着对角线去填入了,最后输出这个举证,就是结果

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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