1def total_fruit(fruits):
2 counts = {}
3 left = 0
4 max_fruits = 0
5 for right in range(len(fruits)):
6 counts[fruits[right]] = counts.get(fruits[right], 0) + 1
7 while len(counts) > 2:
8 counts[fruits[left]] -= 1
9 if counts[fruits[left]] == 0: del counts[fruits[left]]
10 left += 1
11 max_fruits = max(max_fruits, right - left + 1)
12 return max_fruits