Largest Subarray with K sum

Optimal
 avatar
unknown
java
6 days ago
592 B
2
Indexable
class Solution {
    int maxLen(int arr[]) {
        int i, j, k;
        int sum = 0,  maxi=0, n=arr.length;
        HashMap<Integer, Integer> hmp = new HashMap<>();
        
        for(i=0;i<n;++i)
        {
            sum += arr[i];
            if(sum==0)
            {
                maxi = Math.max(maxi, i+1);
            }
            else if(hmp.get(sum))
            {
                maxi = Math.max(maxi, i - hmp.get(sum));
            }
            else
            {
                hmp.put(sum, i);
            }
        }
        return maxi;
    }
}
Leave a Comment