题解 | #蛇形矩阵#

蛇形矩阵

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

// 这道题最好以找规律入手,毕竟从1开始递增,且排列也是确定的,那么规律也是确定的;
// 确定横排竖排的数字变化规律后,挨个输出就行
// 而规律为每一行的后一个数=前一个数+行数(从0开始)+列数(从1开始),如3=1+0+2,9=5+1+3
// 每一列的数=前一个数+行数,如2=1+1,4=2+2
let inputNum = parseInt(readline());
let tmpline = ''
let startNum
let startColum = 1
for (let i = 0; i < inputNum; i++) {
    let numCount = inputNum - i
    startColum += i
    startNum = startColum
    for (let j = 0; j < numCount; j++) {
        tmpline += String(startNum)
        if (j !== (numCount - 1)) {
            tmpline += ' '
        }
        startNum += (i+j+2)
    }
    console.log(tmpline)
    tmpline = ''
}


全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务