题目:
思路:典型的动态规划的问题,从左上角到右下角,当在最左边时,只能向下移动;当在最上边时,只能向下移动。分三种情况,最左边,最上边和中间的位置;
代码如下:
class Solution{
public int minPathSum(int[][] grid) {
int row=grid.length;
int col=grid[0].length;
for(int i=1;i<row;i++){
grid[i][0]+=grid[i-1][0];
}
for(int i=1;i<col;i++){
grid[0][i]+=grid[0][i-1];
for(int j=1;j<row;j++){
grid[i][j]+=Math.min(grid[i][j-1]+grid[i-1][j]);
}
}
return grid[row-1][col-1];
}
}