最小路徑和

2021-09-26 04:10:01 字數 725 閱讀 1901

題目:

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。

說明:每次只能向下或者向右移動一步。

示例:輸入:

[[1,3,1],

[1,5,1],

[4,2,1]

]輸出: 7

解釋: 因為路徑 1→3→1→1→1 的總和最小。

動態規劃:

用乙個dp[m][n]表示從開始點到該點的最小路徑和,那麼最後的dp[m-1][n-1]即為從起點到終點的最小路徑和。首先遍歷第一行。

首先遍歷第一行,第一行的元素只有一條路到達,它的最小路徑和即為前面所有的和。得到dp[0][i]。

同樣遍歷第一列,得到dp[i][0]。

最後開始遍歷其他元素。得到dp[i][j]。

class solution ;

int res = 0;//結果

dp[0][0] = grid[0][0];

for(int i=1; idp[i][j-1] ? dp[i][j-1] : dp[i-1][j]) + grid[i][j];}}

return dp[m-1][n-1];

}};

暴力遞迴思路:
public class solution 

public int minpathsum(int grid)

}

最小路徑和

給定乙個只含非負整數的m n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。注意事項 你在同一時間只能向下或者向右移動一步 這道題和之前做的一道三角形的動態規劃差不多,但是更難一些,例a b c d e f g h i 如果要到i就必須從f 或h走,只要選出其中較小的即可,再用遞迴算出走每乙...

最小路徑和

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。1 動態規劃 1,要明白上邊界線的點只能由它的上乙個點向右移...

最小路徑和

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。示例 輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。看到這一題,第一想法是求2x2的正方形的對角線元素,先...