comefrom: <awangdev>76. Minimum Window Substring_2.java
code: public String minWindow(String s, String t) {
          int end = 0, start = 0, head = 0, counter = t.length(); 
          int minLength = Integer.MAX_VALUE, n = s.length();
          String rst = "";
  
          int[] map = new int[256];
          for (char c : t.toCharArray()) map[c]++;
  
          while (end < n) {
              if (map[s.charAt(end++)]-- > 0) counter--;  
              
              while (counter == 0) { 
                  int len = end - start;
                  if (len < minLength) { 
                      minLength = len;
                      head = start;
                  }
                  if (map[s.charAt(start++)]++ == 0) counter++; 
              }
          }
          return minLength == Integer.MAX_VALUE ? "" : s.substring(head, head + minLength);
      }
masked: public String var_0 ( String var_1 , String var_2 ) {
    int var_3 = 0 , var_4 = 0 , var_5 = 0 , var_6 = var_2 . length ( ) ;
    int var_7 = Integer . MAX_VALUE , var_8 = var_1 . length ( ) ;
    String var_9 = "" ;
    int [ ] var_10 = new int [ 256 ] ;
    for ( char var_11 : var_2 . toCharArray ( ) ) var_10 [ var_11 ] ++ ;
    while ( var_3 < var_8 ) {
      if ( var_10 [ var_1 . charAt ( var_3 ++ ) ] -- > 0 ) var_6 -- ;
      while ( var_6 == 0 ) {
        int var_12 = var_3 - var_4 ;
        if ( var_12 < var_7 ) {
          var_7 = var_12 ;
          var_5 = var_4 ;
        }
        if ( var_10 [ var_1 . charAt ( var_4 ++ ) ] ++ == 0 ) var_6 ++ ;
      }
    }
    return var_7 == Integer . MAX_VALUE ? "" : var_1 . substring ( var_5 , var_5 + var_7 ) ;
  }
  