118. Pascal's Triangle(js)

118. Pascal's Triangle

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.


In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]
题意:给定一个正整数n,求出一个有n层的杨辉三角,使用二维数组表示
代码如下:
/**
 * @param {number} numRows
 * @return {number[][]}
 */
var generate = function(numRows) {
        let res=[];
        if(numRows==0) return res;
        for(let i=0;i<numRows;i++){

            res[i]=[];
            res[i].push(1);
            //从第三行开始
            for(let j=1;j<i;j++){
                //获取上一行
                //得到本行数据
                res[i].push(res[i-1][j-1]+res[i-1][j])
            }
            //末尾插入1,判断是否为第一行
            if(i!=0) res[i].push(1);
        }
        return res
};

猜你喜欢

转载自www.cnblogs.com/xingguozhiming/p/10828445.html