题目:
分析:
这道题和前一道不同路径数的题几乎一样
我们可以用同样的方法去做
先对第一行和第一列进行处理
之后遵循 grid[i][j]+=min(grid[i-1][j],grid[i][j-1])的原则去处理其他格子
最后输出结果就是7
代码:
class Solution {
public int minPathSum(int[][] grid) {
int n=grid.length;
int m=grid[0].length;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
//对第一行和第一列做特殊处理
if(i==0){
if(j==0)
continue;
grid[i][j]+=grid[i][j-1];
continue;
}
if(j==0){
grid[i][j]+=grid[i-1][j];
continue;
}
//普通处理
grid[i][j]+= grid[i-1][j]>grid[i][j-1]? grid[i][j-1]:grid[i-1][j];
}
}
return grid[n-1][m-1];
}
}