
杨辉三角的规律
第 0 行:[1]
第 1 行:[1, 1]
第 2 行:[1, 2, 1]
第 3 行:[1, 3, 3, 1]
第 4 行:[1, 4, 6, 4, 1]
规律:
每一行的第一个和最后一个元素都是 1
中间元素 = 上一行左上 + 上一行右上
数学公式: triangle[i][j]=triangle[i−1][j−1]+triangle[i−1][j]
python
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
# 数学公式: triangle[i][j]=triangle[i−1][j−1]+triangle[i−1][j]
triangle = []
for i in range(numRows):
# 每行元素个数,以及初始值(暂时的)
row = [1] * (i + 1) # 每行长度 = i+1
# 更新中间元素
for j in range(1, i):
row[j] = triangle[i-1][j-1] + triangle[i-1][j]
triangle.append(row)
return triangle