Leetcode 940 Solution
This article provides solution to leetcode question 940 (fruit-into-baskets)
Access this page by simply typing in "lcs 940" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/fruit-into-baskets
Solution
class Solution:
def totalFruit(self, tree: List[int]) -> int:
m = collections.defaultdict(int)
l = 0
r = 0
ans = 0
while r < len(tree):
while r < len(tree):
if tree[r] in m or len(m) < 2:
m[tree[r]] += 1
r += 1
else:
break
ans = max(r - l, ans)
while l < r:
fruit = tree[l]
m[fruit] -= 1
l += 1
if m[fruit] == 0:
del m[fruit]
break
return ans