【发布时间】:2022-06-22 23:53:38
【问题描述】:
我正在尝试解决 leetcode 上的帕斯卡三角形问题:“返回给定数量的帕斯卡三角形行”。我定义了一个函数getNextRow(row),它计算给定当前行的下一行,然后调用它一定次数并将这些行附加到我的结果列表中。由于某种原因,每次我添加新行时,前一行的末尾都会出现额外的零。
例如
输入:5 #5 rows needed
输出:[[1,0],[1,1,0],[1,2,1,0],[1,3,3,1,0],[1,4,6,4,1]]
预期输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
def getNextRow(row):
res = [1]
if len(row) == 0:
return res
row.append(0)
for i in range(len(row) - 1):
res.append(row[i] + row[i+1])
return res
def generate(numRows):
pascal = [] #Empty resulting triangle
currentRow = []
num = 0 #Counter
while num < numRows:
currentRow = getNextRow(currentRow)
pascal.append(currentRow)
num += 1
return pascal
if __name__ == '__main__':
print(generate(5))
【问题讨论】:
-
row.append(0)正在将0添加到行中。
标签: python python-3.x list append pascals-triangle