120 三角形最小路徑和
題目:給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。
例如,給定三角形:
[[2],
[3,4],
[6,5,7],
[4,1,8,3]
]自頂向下的最小路徑和為 11(即,2 + 3 + 5 + 1 = 11)。
方法:動態規劃法
1.dp狀態的定義:dp[j]這裡是代表[i.j]這個數的下面兩個數最小的點數和+自己的點數
2.dp方程的求解:
dp[j]=math.min(dp[j],dp[j+1])+cur.get(j)
這裡用的是一維方程,從底部開始,因為乙個dp只用一次,所以我們就復用了,節約了空間,
dp[j]這裡是代表[i.j]這個數的下面兩個數最小的點數和+自己的點數
思路:dp方程找到後,從下面遞推到上面,兩個for迴圈遍歷即可
**:
public int minimumtotal(list> ********)
int dp = new int[********.size()+1];
for (int i = ********.size()-1; i>=0 ; i--)
}return dp[0];
}
leetcode 120 三角形最小路徑
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。相鄰的結點 在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 1 的兩個結點。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 注意 既...
leetcode 120 三角形最小路徑和
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 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 表示...
leetcode120 三角形最小路徑和
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。...