链接:https://leetcode-cn.com/problems/minimum-path-sum/
同样使用动态规划可解,从左边与上面相加变成了取左边和上面小的那一个就可以了。注意代码中直接修改了输入矩阵。
java代码:
class Solution {
public int minPathSum(int[][] grid) {
for(int i = 0;i<grid.length;i++)
{
for(int j = 0;j<grid[0].length;j++)
{
if(i==0&&j==0)
continue;
else if(i==0)
grid[i][j] +=grid[i][j-1];
else if(j ==0 )
grid[i][j] +=grid[i-1][j];
else
grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]);
}
}
return grid[grid.length-1][grid[0].length-1];
}
}