110.Minimum Path Sum
1.Description(Easy)
Notice
2.Code
public int minPathSum(int[][] grid) {
if(grid==null || grid.length==0){
return -1;
}
if(grid[0]==null || grid[0].length==0){
return -1;
}
int n=grid.length;
int m=grid[0].length;
//state:min path sum from(0.0) to (x,y)
int[][] minpath=new int[n][m];
//initialization:
minpath[0][0]=grid[0][0];
for(int i=1;i<n;i++){
minpath[i][0]=minpath[i-1][0]+grid[i][0];
}
for(int i=1;i<m;i++){
minpath[0][i]=minpath[0][i-1]+grid[0][i];
}
//function://to down or to right
for(int i=1;i<n;i++){
for(int j=1;j<m;j++){
minpath[i][j]=Math.min(minpath[i-1][j], minpath[i][j-1])+grid[i][j];
}
}
//answer:
return minpath[n-1][m-1];
}Last updated