comefrom: <qiyuangong>438_Find_All_Anagrams_in_a_String_1.java
code: public List<Integer> findAnagrams(String s, String p) {
          List<Integer> list = new ArrayList<>();
          if (s == null || s.length() == 0 || p == null || p.length() == 0) return list;
          int[] hash = new int[256]; //character hash
          for (char c : p.toCharArray()) {
              hash[c]++;
          }
          int left = 0, right = 0, count = p.length();
          while (right < s.length()) {
              if (hash[s.charAt(right++)]-- >= 1) count--; 
              if (count == 0) list.add(left);
              if (right - left == p.length() && hash[s.charAt(left++)]++ >= 0) count++;
          }
          return list;
      }
masked: public List < Integer > var_0 ( String var_1 , String var_2 ) {
    List < Integer > var_3 = new ArrayList < > ( ) ;
    if ( var_1 == null || var_1 . length ( ) == 0 || var_2 == null || var_2 . length ( ) == 0 ) return var_3 ;
    int [ ] var_4 = new int [ 256 ] ;
    for ( char var_5 : var_2 . toCharArray ( ) ) {
      var_4 [ var_5 ] ++ ;
    }
    int var_6 = 0 , var_7 = 0 , var_8 = var_2 . length ( ) ;
    while ( var_7 < var_1 . length ( ) ) {
      if ( var_4 [ var_1 . charAt ( var_7 ++ ) ] -- >= 1 ) var_8 -- ;
      if ( var_8 == 0 ) var_3 . add ( var_6 ) ;
      if ( var_7 - var_6 == var_2 . length ( ) && var_4 [ var_1 . charAt ( var_6 ++ ) ] ++ >= 0 ) var_8 ++ ;
    }
    return var_3 ;
  }
  