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

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

题目:

难度:Easy

相关话题:数组

给定一个非负索引k ,其中 k ≤33,返回杨辉三角的第 k 行。

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

示例:

输入: 3
输出: [1,3,3,1]

进阶:

你可以优化你的算法到 O (k ) 空间复杂度吗?


思路:

空间O(N),对于上一层A,倒序计算出当前层的值。

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