64. Minimum Path Sum
1 class Solution { 2 public int minPathSum(int[][] grid) { 3 if(grid == null) return 0; 4 int row = grid.length; 5 int col = grid[0].length; 6 int[][] res = new int[row][col]; 7 res[0][0] = grid[0][0]; 8 for(int i = 0; i < row; i++) { 9 for(int j = 0; j < col; j++) { 10 if(i == 0 && j == 0) { 11 continue; 12 }else if(i - 1 < 0) { 13 res[i][j] = res[i][j-1] + grid[i][j]; 14 }else if(j - 1 < 0) { 15 res[i][j] = res[i-1][j] + grid[i][j]; 16 }else { 17 res[i][j] = grid[i][j] + Math.min(res[i][j-1], res[i-1][j]); 18 } 19 } 20 } 21 return res[row-1][col-1]; 22 23 } 24 }