主要是用了Counter这个类,以及在循环中的操作
import collections
class Solution:
def totalFruit(self, fruits: List[int]) -> int:
count= collections.Counter()
ans,i=0,0
for j,x in enumerate(fruits):
count[x]+=1
while len(count)>=3:
count[fruits[i]]-=1
if count[fruits[i]]==0:
del count[fruits[i]]
i+=1
ans = max(ans,j-i+1)
return ans