题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
我的思路是建立一个二维数组,即数组的数组,数组中每个元素为一个数组 单独输出一行,遍历所有数组即输出方案 具体代码如下
//获取输入流
while (line = readline()) {
//新建二维数组
let arr = Array.of([]);
//定义数组中第一个数组元素的第一个元素为1;
arr[0][0] = 1;
//利用for循环遍历,得到每个数组元素的第一个元素,也即输出数据的第一列;
for (let i = 1; i < parseInt(line); i++){
arr[i]= Array.of(parseInt(arr[i-1]) + i);
}
//利用第一列,通过j,k,双向循环,可最终获得arr[j][k],即二维数组中每一个数组元素的每一个元素;
for (let j = 0; j < parseInt(line); j++){
for (let k = 1; k < parseInt(line) - j; k++){
arr[j][k] = parseInt(arr[j][k-1]) + (j+k+1);
}
//同时每次输出一个数组;
console.log(arr[j].join(' '))
}
}
数字马力公司福利 22人发布