【leetcode】 118. 杨辉三角

52 阅读1分钟

leetcode-118.png

动态规划,比较简单的题目,可以一目了然上一轮的状态,然后推算出本次的状态

使用双重循环来生成每一行,并且每行第一个和最后一个元素都是 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
};