【JS每日一算法】🟩112.杨辉三角(迭代法)

284 阅读1分钟

给定一个非负整数 numRows 生成「杨辉三角」的前 numRows 行。

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

1626927345-DZmfxB-PascalTriangleAnimated2.gif

提示:

  • 1 <= numRows <= 30

示例 1:

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

示例 2:

输入: numRows = 1
输出: [[1]]

题解:

个人博客

更多JS版本题解点击链接关注该仓库👀

/**
 * @description: 迭代法  TC:O(n^2)  SC:O(n^2)
 * @author: JunLiangWang
 * @param {*} numRows 给定一个非负整数
 * @return {*}
 */
function iteration(numRows){
    /**
     * 该方案使用迭代法,两次遍历生成杨辉三角形
     */
    let outArray=[]
    for(let i=0;i<numRows;i++){
        outArray.push(new Array(i+1).fill(1));
        for(let j=1;j<=i-1;j++){
           outArray[i][j]=outArray[i-1][j-1]+outArray[i-1][j];
        }
    }
    return outArray;
}