Untitled

 avatar
unknown
plain_text
2 months ago
1.0 kB
3
Indexable
import java.util.*;

public class sumof0 {
    public static int maxLength(int[] arr){
        Map<Integer,Integer> prefix = new HashMap<>();
        int MaxL=0, fsum=0;
        for(int i=0;i<arr.length;i++){
            fsum+=arr[i];

            if(fsum ==0){
                MaxL = i+1;
            }
            if(prefix.containsKey(fsum)){
                MaxL = Math.max(MaxL,i-prefix.get(fsum));
            }
            else{
                prefix.put(fsum,i);
            }
        }
        return MaxL;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("Size of array:");
        int n= sc.nextInt();
        int[] arr = new int[n];

        System.out.println("Elements of array");
        for(int i = 0; i<n;i++){
            arr[i] = sc.nextInt();
        }
        int res = maxLength(arr);
        System.out.println("length of largest subarray with sum o: "+res);

        sc.close();
    }

}
Editor is loading...
Leave a Comment