我犯了一個程序用於查找一個三角形路徑具有最大總和爲三角形
實施例的所有可能的路徑中的最大總和:
1
2 1
1 2 3
然後所有可能路徑之中的最大值爲1+ 2 + 3 = 6
我的代碼:
def maxSum(tri, n):
if n > 1:
tri[1][1] = tri[1][1]+tri[0][0]
tri[1][0] = tri[1][0]+tri[0][0]
for i in range(2, n):
tri[i][0] = tri[i][0] + tri[i-1][0]
tri[i][i] = tri[i][i] + tri[i-1][i-1]
for j in range(1, i):
if tri[i][j]+tri[i-1][j-1] >= tri[i][j]+tri[i-1][j]:
tri[i][j] = tri[i][j] + tri[i-1][j-1]
else:
tri[i][j] = tri[i][j]+tri[i-1][j]
print max(tri[n-1])
#my list containing the triangle
tri = [[1], [2,1], [1,2,3]]
maxSum(tri, 3)
但我的代碼打印輸出5.Anyone請幫助我糾正我的代碼?
請準確定義「路徑」是什麼 –
您沒有告訴我們什麼定義了可能的路徑。 –
@Varun Shaandhesh:如果它解決了你的問題,請按照https://stackoverflow.com/help/someone-answers更新線程 –