dp 每一个格等于 min( 左边,上边)+ 本格 只要判断好边界条件就行
public class Solution {
public int minPathSum(int[][] grid) {
int row = grid.length;
int col = grid[0].length;
for ( int i = 0; i < row; i ++){
for ( int j = 0; j < col; j ++ ){
if ( i == 0 && j != 0 ){
grid[i][j] += grid[i][j-1];
}
else if ( i != 0 && j == 0 )
grid[i][j] += grid[i-1][j];
else if ( i == 0 && j == 0 )
grid[i][j] = grid[i][j];
else
grid[i][j] = Math.min(grid[i-1][j], grid[i][j-1]) + grid[i][j];
}
}
return grid[row - 1][col - 1];
}
}
本文详细解释了使用动态规划解决最小路径和问题的方法,并通过代码实现展示了如何在矩阵中找到从左上角到右下角的最小路径和。
437

被折叠的 条评论
为什么被折叠?



