leetcode64最小路径和
题目:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
这道题是leetcode62的升级版,但是个人感觉难度差不太多,甚至这道题可能更简单一点,很显然的dp问题
动态规划方程也很好找 grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]);
public int minPathSum(int[][] grid) {
if(null==grid||grid.length<1||grid[0].length<1)return -1;
for(int i=0;i<grid.length;i++){
for(int j=0;j<grid[0].length;j++){
if(i==0){//初始化第一行
if(j>0){
grid[i][j] = grid[i][j]+grid[i][j-1];
}
}else if(j==0){//初始化第一列
if(i>0){
grid[i][j] = 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];
}