[leetcode]Fruit Into Baskets
滑动窗口,原来可以通过循环嵌套循环的方式实现。
class Solution:
def totalFruit(self, tree: List[int]) -> int:
result = 0
fruitDict = {}
i = 0
# assert i <= j
for j in range(len(tree)):
x = tree[j]
if x not in fruitDict:
fruitDict[x] = 0
fruitDict[x] += 1
while len(fruitDict) == 3:
fruitDict[tree[i]] -= 1
if fruitDict[tree[i]] == 0:
del fruitDict[tree[i]]
i += 1
result = max(result, j - i + 1)
return result

浙公网安备 33010602011771号