comefrom: <garvit244>159_1.py
code: 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
masked: 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
  