题目:(链接)
解法:第i行的第j个数=第i-1行的j-1个数 + 第i-1行的第j个数。注意下,左右边界都是1,就这么简单。
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
# 第i行的第j个数=第i-1行的j-1个数 + 第i-1行的第j个数。注意下,左右边界都是1,就这么简单。不需要扯一大堆数学公式。
mat = [[0] * i for i in range(1,numRows+1)]
# print(mat) # [[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0]]
for i in range(numRows): # 三角形的边界都是0
mat[i][0] = 1
mat[i][i] = 1
for i in range(numRows):
for j in range(1,i):
mat[i][j] = mat[i-1][j-1] + mat[i-1][j]
return mat