美文网首页
118. 杨辉三角

118. 杨辉三角

作者: 吃饭用盘装 | 来源:发表于2018-06-09 18:22 被阅读20次

    内容

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

    image

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

    示例:

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


    思路


    代码

    /**
     * @param {number} numRows
     * @return {number[][]}
     */
    var generate = function (numRows) {
        if (numRows == 0) return [];
        if (numRows == 1) return [
            [1]
        ];
        if (numRows == 2) return [
            [1],
            [1, 1]
        ];
        var result = [
            [1],
            [1, 1]
        ];
        var save = [1, 2, 1];
    
        for (var i = 3; i <= numRows; i++) {
            result.push(save.slice(0));
    
            var newArray = [];
            for (var j = 0; j < save.length - 1; j++) {
                newArray.push(save[j] + save[j + 1]);
            }
    
            newArray.unshift(1);
            newArray.push(1);
            save = newArray;
        }
    
        return result;
    };
    

    回到目录

    相关文章

      网友评论

          本文标题:118. 杨辉三角

          本文链接:https://www.haomeiwen.com/subject/aaxxeftx.html