leetcode 64 最小路徑和

2021-10-01 04:37:08 字數 650 閱讀 2978

這個題目就是典型的動態規劃問題,因為每次只能向右或者向下走,所以對於乙個矩陣,第一行和第一列的dp值就是前面的值相加得到的和。然後對於剩下的所有節點,其dp值應該是本節點的值和上邊節點和左邊節點中較小的dp值的和。公式為:

for i=1 to rows dp[0][i] = grid[0][i] + grid[0][i-1]這是第一行的dp值

for i=1 to columns dp[i][0] = grid[i-1][0] + grid[i][0]這是第一列的dp值初始化,其中i是從1開始的而dp[0][0] = grid[0][0];

對剩餘的每個網格,dp[i][j] = grid[i][j] + math.min(dp[i-1][j], dp[i][j-1]);

最後返回dp[rows-1][columns-1]就可以了。完整**如下l

public

static

intminpathsum

(int

grid)

}//返回終點的dp值

return dp[rows-1]

[columns-1]

;}

LeetCode 64 最小路徑和

題目描述 提示幫助 提交記錄 社群討論 閱讀解答 隨機一題 給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。示例 輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和...

LeetCode 64 最小路徑和

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

LeetCode 64 最小路徑和

題目 給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。示例 輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。解題思路 1 由於路線只向下或者右走,所以在最上...