原文:118. 杨辉三角(leetcode 解题) - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/leetcode/leetcode-javascript-solution-0118/

题目:

难度:Easy

相关话题:数组

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

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

示例:

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

思路:

要求输出整个三角形,使用temp保留上一层的数组,通过temp计算当前层。

/**
 * @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/
 * @介绍:一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
 * @param {number} numRows
 * @return {number[][]}
 */
var generate = function(numRows) {
  let temp=[]
  let result=[]
  for(let i=0;i<numRows;i++){
    result[i]=Array(temp.length+1).fill(1)
    for(let j=1;j<result[i].length-1;j++){
      result[i][j]=temp[j-1]+temp[j]
    }
    temp=result[i]
  }
  return result
};

扩展阅读: