三角形最小路徑和(動態規劃)

2021-10-05 12:24:05 字數 1147 閱讀 1851

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

例如,給定三角形:[

[2],

[3,4],

[6,5,7],

[4,1,8,3]

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

狀態分析:從 (i - 1, j), (i - 1, j - 1) 可移動到 (i, j)

狀態:f(i, j):從 (0, 0) 移動到 (i, j) 的最短路徑

狀態轉移方程:f(i, j) = min ( f(i - 1, j), f(i - 1, j - 1) ) + array[i, j]

返回值:dp最後一行最小的數

class

solution

else

if(i == j)

else}}

//找出最後一行路徑和最小的

int min = dp[m -1]

[0];

for(

int j =

1; j < n; j++)}

return min;

}}

狀態分析:從 (i + 1, j), (i + 1, j + 1) 可移動到 (i, j)

狀態:f(i, j):從 最後一行 移動到 (i, j) 的最短路徑

狀態轉移方程:f(i, j) = min ( f(i + 1, j), f(i + 1, j + 1) ) + array[i, j]

返回值:dp[0][0]

class

solution

for(

int i = m -

2; i >=

0; i--)}

return dp[0]

[0];

}}

LeetCode 三角形最小路徑和 動態規劃

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

120 三角形最小路徑和 動態規劃

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 1 自頂向下的動態規劃 開闢乙個與 相同的dp二維陣列。狀態定義 dp i j dp i j dp i j...

leetcode 三角形最小路徑和 動態規劃

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