给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
![6213bbcbe2f16cd3ba0e64e410fc4c8e.gif](https://i-blog.csdnimg.cn/blog_migrate/3abee5544f5002f6c01ac22956a7e0fa.gif)
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]
![93a246ade9bb6e06cc9130033e2ebbae.png](https://i-blog.csdnimg.cn/blog_migrate/6b6059587369b7a216ca6714d66b1957.jpeg)
分析:需要基于前一行来构造每一行
解:
class Solution: def generate(self, numRows: int) -> List[List[int]]: s = [] temp = [1,1] for i in range(numRows): mi = [1] if i==0: mi = [1] elif i==1: mi.append(1) else: for j in range(1,i): mi.append(temp[j-1]+temp[j]) mi.append(1) temp = mi s.append(mi) return s