LeetCode第118题:杨辉三角

题目

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

  • 示例 1:
    输入: numRows = 5
    输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

  • 示例 2:
    输入: numRows = 1
    输出: [[1]]

代码

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        if numRows == 1:
            return [[1]]
        res = [[1]]
        for i in range(1, numRows):
            result = []
            for j in range(i + 1):
                if j == 0:
                    result.append(1)
                elif j == len(res[i-1]):
                    result.append(1)
                else:
                    result.append(res[i-1][j] + res[i-1][j - 1])
            res.append(result)
        return res

版权声明:本文为weixin_44649870原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。