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 }

 

posted @ 2018-09-14 09:49  jasoncool1  阅读(107)  评论(0编辑  收藏  举报