← 题库
简单数组动态规划

PROBLEM / 研究生阶段

118. 杨辉三角

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

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

图片
图片

示例 1:

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

示例 2:

text
输入: numRows = 1
输出: [[1]]

提示:

  • 1 <= numRows <= 30

参考解法

下面保留的是原始练习仓库中的个人作答,可在右侧工作台中独立重写,再按需揭示对照。

python

class Solution(object):
    def generate(self, numRows):
        a = []
        for i in range(numRows):
            if i == 0:
                a.append([1])
            else:
                row = [1] * (i + 1)
                for j in range(1, i):
                    row[j] = a[i - 1][j - 1] + a[i - 1][j]
                a.append(row)
        return a
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
这道题暂未附参考解法,编辑器草稿仍会自动保存在本机。
YOUR SOLUTION118. 杨辉三角