comefrom: <gouthampradhan>hashing_BrickWall_1.java
code: public int leastBricks(List<List<Integer>> wall) {
      for (List<Integer> row : wall) {
        int prefix = 0;
        for (int i = 0, l = row.size(); i < l; i++) {
          prefix += row.get(i);
          row.set(i, prefix);
        }
      }
      int result = Integer.MIN_VALUE;
      Map<Integer, Integer> map = new HashMap<>();
      for (List<Integer> row : wall) {
        for (int i = 0, l = row.size(); i < l - 1; i++) {
          int prefix = row.get(i);
          if (map.containsKey(prefix)) {
            int plusOne = map.get(prefix) + 1;
            map.put(prefix, plusOne);
            result = Math.max(result, plusOne);
          } else {
            map.put(prefix, 1);
            result = Math.max(result, 1);
          }
        }
      }
      return (result == Integer.MIN_VALUE) ? wall.size() : wall.size() - result;
    }
masked: public int sample_funcname ( List < List < Integer >> var_2 ) {
    for ( List < Integer > var_3 : var_2 ) {
      int var_5 = 0 ;
      for ( int var_6 = 0 , var_8 = var_3 . size ( ) ;
      var_6 < var_8 ;
      var_6 ++ ) {
        var_5 += var_3 . get ( var_6 ) ;
        var_3 . set ( var_6 , var_5 ) ;
      }
    }
    int var_12 = Integer . MIN_VALUE ;
    Map < Integer , Integer > var_15 = new HashMap < > ( ) ;
    for ( List < Integer > var_3 : var_2 ) {
      for ( int var_6 = 0 , var_8 = var_3 . size ( ) ;
      var_6 < var_8 - 1 ;
      var_6 ++ ) {
        int var_5 = var_3 . get ( var_6 ) ;
        if ( var_15 . containsKey ( var_5 ) ) {
          int var_18 = var_15 . get ( var_5 ) + 1 ;
          var_15 . put ( var_5 , var_18 ) ;
          var_12 = Math . max ( var_12 , var_18 ) ;
        }
        else {
          var_15 . put ( var_5 , 1 ) ;
          var_12 = Math . max ( var_12 , 1 ) ;
        }
      }
    }
    return ( var_12 == Integer . MIN_VALUE ) ? var_2 . size ( ) : var_2 . size ( ) - var_12 ;
  }
  