Leetcode--118. 杨辉三角

124 阅读1分钟

题目要求

给定一个非负整数

numRows,

生成杨辉三角的前

numRows

行。

在杨辉三角中,每个数是它左上方和右上方的数的和

示例

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

题解思路

这题很简单,根据公式res[i][j] = res[i-1][j] +res[i-1][j-1]

其中如果i<=2或者j=0或者j=i+1;则res[i][j]恒等于1。

var generate = function(numRows) {
    const ret = [];

    for (let i = 0; i < numRows; i++) {
        const row = new Array(i + 1).fill(1);
        for (let j = 1; j < row.length - 1; j++) {
            row[j] = ret[i - 1][j - 1] + ret[i - 1][j];
        }
        ret.push(row);
    }
    return ret;
};