Untitled

 avatar
unknown
plain_text
15 days ago
562 B
3
Indexable
class Solution {
  public:
    int maxLen(vector<int>& arr) {
        int n=arr.size();
        int prefixSum=0;
        int ans=0;
        map<int,int>prefixMp;
        prefixMp[0]=-1;
        for(int i=0;i<n;i++){
            prefixSum+=arr[i];
            if(prefixMp.find(prefixSum)!=prefixMp.end())
            {
                int idx=prefixMp[prefixSum];
                int windowSize=(i-idx);
                ans=max(ans,windowSize);
            }else{
                prefixMp[prefixSum]=i;
            }
        }        
        return ans;
    }
};
Leave a Comment