题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
第一眼看脑淤血
- 首先,观察输入的是行数,则循环若干行。
- 其次,构建一个数组,填充 1.然后根据第一行的规律,第一个是 1,后一个是前一个数加上下标再加 1.
- 最后循环若干行,每一行都用一个字符串来保存结果最后用于输出。观察得知下一行是上一行除去开头,每一个元素再减去 1 的结果,因此保存好结果,再修改原数组,最后输出答案。
代码
while(line = ~~readline()) {
  let arr = new Array(line).fill(1);
  arr.forEach((i, idx) => {
    if(idx !== 0) {
      arr[idx] = arr[idx - 1] + idx + 1
    }
  })
  let count = line;
  while(line) {
    let res = '';
    for(let i = count - line;i<arr.length;i++) {
      res += `${arr[i]} `;
      arr[i] -= 1;
    }
    console.log(res.trim());
    line--;    
  }
}
 深信服公司福利 737人发布
深信服公司福利 737人发布
 查看2道真题和解析
查看2道真题和解析