<qiyuangong>438_Find_All_Anagrams_in_a_String_1.py
def findAnagrams( s, p):
    res = []
    if s is None or p is None or len(s) == 0 or len(p) == 0:
        return res
    char_map = [0] * 256
    for c in p:
        char_map[ord(c)] += 1
    left, right, count = 0, 0, len(p)
    while right < len(s):
        if char_map[ord(s[right])] >= 1:
            count -= 1
        char_map[ord(s[right])] -= 1
        right += 1
        if count == 0:
            res.append(left)
        if right - left == len(p):
            if char_map[ord(s[left])] >= 0:
                count += 1
            char_map[ord(s[left])] += 1
            left += 1
    return res
def sample_funcname ( var_0 , var_1 ) :
    var_2 = [ ]
    if var_0 is None or var_1 is None or len ( var_0 ) == 0 or len ( var_1 ) == 0 :
        return var_2
    var_7 = [ 0 ] * 256
    for var_8 in var_1 :
        var_7 [ ord ( var_8 ) ] += 1
    var_11 , var_12 , var_13 = 0 , 0 , len ( var_1 )
    while var_12 < len ( var_0 ) :
        if var_7 [ ord ( var_0 [ var_12 ] ) ] >= 1 :
            var_13 -= 1
        var_7 [ ord ( var_0 [ var_12 ] ) ] -= 1
        var_12 += 1
        if var_13 == 0 :
            var_2.append ( var_11 )
        if var_12 - var_11 == len ( var_1 ) :
            if var_7 [ ord ( var_0 [ var_11 ] ) ] >= 0 :
                var_13 += 1
            var_7 [ ord ( var_0 [ var_11 ] ) ] += 1
            var_11 += 1
    return var_2
