comefrom: <awangdev>64. Minimum Path Sum_5.java
code: public int minPathSum(int[][] grid) {
          if (grid == null || grid.length == 0 || grid[0] == null || grid[0].length == 0) {
              return 0;
          }
          int m = grid.length, n = grid[0].length;
          int[][] dp = new int[m][n];
          dp[0][0] = grid[0][0];
          for (int i = 1; i < m; i++) dp[i][0] = dp[i - 1][0] + grid[i][0];
          for (int j = 1; j < n; j++) dp[0][j] = dp[0][j - 1] + grid[0][j];
          
          for (int i = 1; i < m; i++) {
              for (int j = 1; j < n; j++) {
                  dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];
              }
          }
          
          return dp[m - 1][n - 1];
      }
masked: public int sample_funcname ( int [ ] [ ] var_0 ) {
    if ( var_0 == null || var_0 . length == 0 || var_0 [ 0 ] == null || var_0 [ 0 ] . length == 0 ) {
      return 0 ;
    }
    int var_4 = var_0 . length , var_5 = var_0 [ 0 ] . length ;
    int [ ] [ ] var_6 = new int [ var_4 ] [ var_5 ] ;
    var_6 [ 0 ] [ 0 ] = var_0 [ 0 ] [ 0 ] ;
    for ( int var_8 = 1 ;
    var_8 < var_4 ;
    var_8 ++ ) var_6 [ var_8 ] [ 0 ] = var_6 [ var_8 - 1 ] [ 0 ] + var_0 [ var_8 ] [ 0 ] ;
    for ( int var_9 = 1 ;
    var_9 < var_5 ;
    var_9 ++ ) var_6 [ 0 ] [ var_9 ] = var_6 [ 0 ] [ var_9 - 1 ] + var_0 [ 0 ] [ var_9 ] ;
    for ( int var_8 = 1 ;
    var_8 < var_4 ;
    var_8 ++ ) {
      for ( int var_9 = 1 ;
      var_9 < var_5 ;
      var_9 ++ ) {
        var_6 [ var_8 ] [ var_9 ] = Math . min ( var_6 [ var_8 - 1 ] [ var_9 ] , var_6 [ var_8 ] [ var_9 - 1 ] ) + var_0 [ var_8 ] [ var_9 ] ;
      }
    }
    return var_6 [ var_4 - 1 ] [ var_5 - 1 ] ;
  }
  