题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
//笨办法,察觉规律 横着看 总结来说就是算出每行首字母 、尾字母,根据尾字母-5 -4 -3 算出其它字母
第一行 5个数字 之间的差距 +2 +3+4 +5 第二行 +3+4+5 .。。。第四行+5
正着递增不好计算 反过来看 就是 倒数第二个都是-5 倒数第二个都是-4 所以算出每一行最后一个数字 其它都好算
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 n = parseInt(line.trim());
for (let i = 1; i <= n; i++) {
let arr = [];
let max = 1;
//竖着首字母 1+0 +1+2+3+4+5
for (let l = 0; l < i; l++) {
max += l;
}
//横着
for (let k = n; k > i; k--) {
max += k;
}
arr.push(max);
let current = max;
for (let j = n; j > i; j--) {
current = current - j;
arr.unshift(current);
}
console.log(arr.join(" "));
}
}
})();