<garvit244>159_1.py
def lengthOfLongestSubstringTwoDistinct( s):
    if not s:
        return 0
    
    unique_char, start, result = {}, 0, 0
    for index, char in enumerate(s):
        if char in unique_char:
            unique_char[s] += 1
        else:
            unique_char[s] = 1
    
        if len(unique_char) <= 2:
            result = max(result, index-start+1)
        else:
            while len(unique_char) > 2:
                char_index = s[start]
                count = unique_char[char_index]
                if count == 1:
                    del unique_char[char_index]
                else:
                    unique_char[char_index] -= 1
                start += 1
    return result
def sample_funcname ( var_0 ) :
    if not var_0 :
        return 0
    var_2 , var_3 , var_4 = { } , 0 , 0
    for var_6 , var_7 in enumerate ( var_0 ) :
        if var_7 in var_2 :
            var_2 [ var_0 ] += 1
        else :
            var_2 [ var_0 ] = 1
        if len ( var_2 ) <= 2 :
            var_4 = max ( var_4 , var_6 - var_3 + 1 )
        else :
            while len ( var_2 ) > 2 :
                var_12 = var_0 [ var_3 ]
                var_13 = var_2 [ var_12 ]
                if var_13 == 1 :
                    del var_2 [ var_12 ]
                else :
                    var_2 [ var_12 ] -= 1
                var_3 += 1
    return var_4
