动态规划,比较简单的题目,可以一目了然上一轮的状态,然后推算出本次的状态
使用双重循环来生成每一行,并且每行第一个和最后一个元素都是 1,中间的元素通过上一行的元素相加得到。
var generate = function (numRows) {
let res = []
for (let i = 0; i < numRows; ++i) {
let row = new Array(i + 1).fill(1)
// 从 i = 2 时,进入j的循环,前两次直接填充 [[1],[1,1]]
for (let j = 1; j < i; ++j) {
// 根据上一轮的结果来推算
row[j] = res[i - 1][j] + res[i - 1][j - 1]
}
res.push(row)
}
return res
};