【LeetCode with JavaScript】118. Pascal’s Triangle

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwkkkk1/article/details/80430555

原题网址:https://leetcode.com/problems/pascals-triangle
难度:Easy

题目

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


这里写图片描述

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

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

思路


  首先分析每一行数组的结构,例如是在第 n 行,*arr[0] 和 arr[n -1] 均为 1, arr[i] = 上一行arr[i -1] + 上一行的arr[i],代码如下:

/**
 * @param {number} numRows
 * @return {number[][]}
 */
var generate = function(numRows) {
    var outputs = [];
    for(var i = 0; i < numRows; i++) {
        var curArr = [i];
        curArr[0] = 1,curArr[i] = 1;
        for(var j = 1; j < i; j++) {
            curArr[j] = outputs[i - 1][j - 1] + outputs[i - 1][j];
        }
        outputs.push(curArr);
    }
    return outputs;
};

Your runtime beats 89.79 % of javascript submissions
运行时间:56ms,clear!

猜你喜欢

转载自blog.csdn.net/zwkkkk1/article/details/80430555