Fruit Into Baskets (Leetcode 904)

Problem Link: https://leetcode.com/problems/fruit-into-baskets/

class Solution:
    def totalFruit(self, fruits: List[int]) -> int:
        
        j=0
        ans=0
        d={}
        n=len(fruits)
        for i in range(n):
            if(fruits[i] in d):
                d[fruits[i]]+=1
            else:
                d[fruits[i]]=1
            
            while(len(d)>2):
                if(d[fruits[j]]==1):
                    del d[fruits[j]]
                    j+=1
                else:
                    d[fruits[j]]-=1
                    j+=1
            
            ans=max(ans,i-j+1)
        return ans                    

Last updated