R6-dp篇
印象题,但做法应该改变了
思路:前两行直接写
next=[i]=cur[i-1]+cur[i],其中next[0]和next[-1]
这样的话,需要创建2个额外的数组空间,而且还要变化
所以考虑动态规划
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
if numRows==0:
return
elif numRows<=2:
return [[1]*i for i in range(1,numRows+1)]
dp=[[0]*i for i in range(1,numRows+1)]
dp[0],dp[1]=[1],[1,1]
for i in range(2,numRows):
dp[i][0],dp[i][-1]=1,1
for j in range(1,i):
dp[i][j]=dp[i-1][j-1]+dp[i-1][j]
return dp