leetcode 120 三角形最小路徑和

2021-09-12 08:05:49 字數 1174 閱讀 6121

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。

例如,給定三角形:

[

[2],

[3,4],

[6,5,7],

[4,1,8,3]

]

自頂向下的最小路徑和為11(即,2+3+5+1= 11)。

分析:從右下向左上前進。dp[i][j] = min(dp[i+1][j]+dp[i+1][j])+********[i][j]。dp[i][j]表示到達i,j這個位置上的最小路徑和。

問題來了,⤴️狀態轉移方程用python怎麼寫???

class solution(object):

def minimumtotal(self, ********):

""":type ********: list[list[int]]

:rtype: int

"""dp = [[0 for _ in range(len(row))] for row in ********]

row = len(********)

for j in range(row):

dp[row-1][j] = ********[row-1][j]

for i in range(row-2,-1,-1):

for j in range(i,-1,-1):

dp[i][j] = min(dp[i+1][j],dp[i+1][j+1])+********[i][j]

return dp[0][0]

原來python也可以二維列印啊!!

******** = [[2],[3,4],[6,5,7],[4,1,8,3]]

# print(********[0][0]) # 2

# print(********[2][1]) # 5

for row in ********:

print(row)

# [2]

# [3, 4]

# [6, 5, 7]

# [4, 1, 8, 3]

leetcode 120 三角形最小路徑

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。相鄰的結點 在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 1 的兩個結點。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 注意 既...

leetcode120 三角形最小路徑和

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。...

LeetCode 120 三角形最小路徑和

120 三角形最小路徑和 題目 給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 方法 動態規劃法 1.dp狀態的定義 dp j 這裡是代表 i.j 這個數...