comefrom: <qiyuangong>695_Max_Area_of_Island_1.java
code: public int maxAreaOfIsland(int[][] grid) {
          int[] dr = new int[]{1, -1, 0, 0};
          int[] dc = new int[]{0, 0, 1, -1};
          int ans = 0;
          for (int r0 = 0; r0 < grid.length; r0++) {
              for (int c0 = 0; c0 < grid[0].length; c0++) {
                  if (grid[r0][c0] == 1) {
                      int shape = 0;
                      Stack<int[]> stack = new Stack();
                      stack.push(new int[]{r0, c0});
                      grid[r0][c0] = 0;
                      while (!stack.empty()) {
                          int[] node = stack.pop();
                          int r = node[0], c = node[1];
                          shape++;
                          for (int k = 0; k < 4; k++) {
                              int nr = r + dr[k];
                              int nc = c + dc[k];
                              if (0 <= nr && nr < grid.length &&
                                      0 <= nc && nc < grid[0].length &&
                                      grid[nr][nc] == 1) {
                                  stack.push(new int[]{nr, nc});
                                  grid[nr][nc] = 0;
                              }
                          }
                      }
                      ans = Math.max(ans, shape);
                  }
              }
          }
          return ans;
      }
masked: public int sample_funcname ( int [ ] [ ] var_0 ) {
    int [ ] var_1 = new int [ ] {
      1 , - 1 , 0 , 0 };
      int [ ] var_2 = new int [ ] {
        0 , 0 , 1 , - 1 };
        int var_3 = 0 ;
        for ( int var_4 = 0 ;
        var_4 < var_0 . length ;
        var_4 ++ ) {
          for ( int var_5 = 0 ;
          var_5 < var_0 [ 0 ] . length ;
          var_5 ++ ) {
            if ( var_0 [ var_4 ] [ var_5 ] == 1 ) {
              int var_6 = 0 ;
              Stack < int [ ] > var_7 = new Stack ( ) ;
              var_7 . push ( new int [ ] {
                var_4 , var_5 }
                ) ;
                var_0 [ var_4 ] [ var_5 ] = 0 ;
                while ( ! var_7 . empty ( ) ) {
                  int [ ] var_8 = var_7 . pop ( ) ;
                  int var_9 = var_8 [ 0 ] , var_10 = var_8 [ 1 ] ;
                  var_6 ++ ;
                  for ( int var_11 = 0 ;
                  var_11 < 4 ;
                  var_11 ++ ) {
                    int var_12 = var_9 + var_1 [ var_11 ] ;
                    int var_13 = var_10 + var_2 [ var_11 ] ;
                    if ( 0 <= var_12 && var_12 < var_0 . length && 0 <= var_13 && var_13 < var_0 [ 0 ] . length && var_0 [ var_12 ] [ var_13 ] == 1 ) {
                      var_7 . push ( new int [ ] {
                        var_12 , var_13 }
                        ) ;
                        var_0 [ var_12 ] [ var_13 ] = 0 ;
                      }
                    }
                  }
                  var_3 = Math . max ( var_3 , var_6 ) ;
                }
              }
            }
            return var_3 ;
          }
          