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_2 , String var_3 ) {
    int var_5 = 0 , var_6 = 0 , var_7 = 0 , var_9 = var_3 . length ( ) ;
    int var_12 = Integer . MAX_VALUE , var_13 = var_2 . length ( ) ;
    String var_15 = "" ;
    int [ ] var_17 = new int [ 256 ] ;
    for ( char var_19 : var_3 . toCharArray ( ) ) var_17 [ var_19 ] ++ ;
    while ( var_5 < var_13 ) {
      if ( var_17 [ var_2 . charAt ( var_5 ++ ) ] -- > 0 ) var_9 -- ;
      while ( var_9 == 0 ) {
        int var_21 = var_5 - var_6 ;
        if ( var_21 < var_12 ) {
          var_12 = var_21 ;
          var_7 = var_6 ;
        }
        if ( var_17 [ var_2 . charAt ( var_6 ++ ) ] ++ == 0 ) var_9 ++ ;
      }
    }
    return var_12 == Integer . MAX_VALUE ? "" : var_2 . substring ( var_7 , var_7 + var_12 ) ;
  }
  