Sum of largest subarray
unknown
plain_text
10 months ago
1.0 kB
10
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