题解 | #蛇形矩阵#
蛇形矩阵
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(' ')) } }