LEETCODE | PYTHON | 118 | 杨辉三角
1. 题目
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 代码
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
#初始化
dp = [[] for i in range(numRows)]
dp[0].append(1)
#循环遍历
for i in range(1,numRows):
#采用动态规划
dp[i].append(dp[i-1][0])
for j in range(1,len(dp[i-1])):
dp[i].append(dp[i-1][j]+dp[i-1][j-1])
dp[i].append(dp[i-1][-1])
return dp
3. 相关知识
(1) 采用动态规划
(2) 每一层的生成原则:上一层的最左值,从左到右依次两两相加,上一层的最右值