Skip to content

Latest commit

 

History

History
40 lines (36 loc) · 1 KB

118. 杨辉三角-Easy.md

File metadata and controls

40 lines (36 loc) · 1 KB

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

Pasted image 20201206180541.png

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

示例:

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

Solution

  • 时间复杂度:$O(n^2)$
  • 空间复杂度:$O(1),不考虑返回值的空间占用时$
class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        res = []
        for i in range(numRows):
            if i == 0:
                res.append([1])            
            else:
                tmp = []
                for j in range(i+1):
                    if j == 0 or j > len(res[i-1]) - 1:
                        tmp.append(1)
                    else:
                        tmp.append(res[i-1][j-1] +res[i-1][j])
                res.append(tmp)
        return res