杨辉三角

模拟过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* @param {number} numRows
* @return {number[][]}
*/
var generate = function (numRows) {
let result = [[1], [1, 1]];
let pre = [1, 1],
cur = [];
if (numRows === 1) return [[1]];
if (numRows === 2) return [[1], [1, 1]];
for (let i = 0; i < numRows - 2; ++i) {
// const sum = (pre[i - 1] || 0) + pre[i];
for (let i = 0; i < pre.length + 1; i++) {
cur[i] = (pre[i - 1] || 0) + (pre[i] || 0);
}
pre = cur;
cur = [];
result.push(pre);
}
return result;
};
// console.log(generate(5));

优化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {number} numRows
* @return {number[][]}
*/
var generate = function (numRows) {
let result = [];
for (let i = 0; i < numRows; i++) {
const cur = Array(i + 1).fill(1);
for (let j = 1; j < cur.length - 1; j++) {
// 模拟过程
cur[j] = result[i - 1][j - 1] + result[i - 1][j];
}
result.push(cur);
}
return result;
};
console.log(generate(5));

本站由 ao 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。