LeetCode #118. Pascal's Triangle
题目
解题方法
这是一道典型的dp题,从第三行开始的中间部分都是由上一行决定的,处理好第一二行和每行首尾的边界值即可。
代码
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
ret = []
for i in range(numRows):
if not i:
ret.append([1])
continue
if i == 1:
ret.append([1, 1])
continue
temp = []
for j in range(i + 1):
if not j or j == i:
temp.append(1)
else:
temp.append(ret[i-1][j-1] + ret[i-1][j])
ret.append(temp)
return ret

浙公网安备 33010602011771号