For this Question: Given an array <b>A[]</b>, of length <b>N</b> containing zero , positive and negative integers. 
You need to find the length of the largest subarray whose sum of elements is <b>0</b>.The first line contains N denoting the size of the array A. Then in the next line contains N space-separated values of the array A.

<b>Constraints:-</b>
1 <= N <= 1e5
-1e6 <= A[i] <= 1e6Print the length of the largest subarray which has sum 0, If no subarray exist print -1.Sample Input:-
8
15 -2 2 -8 1 7 10 23

Sample Output:-
5

Explanation:-
-2 2 -8 1 7 is the required subarray

Sample Input:-
5
1 2 1 2 3

Sample Output:-
-1, I have written this Solution Code: import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args)throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();

        int size = Integer.parseInt(line);

        String str = br.readLine();
        String[] strArray = str.split(" ");
        int[] array = new int[size];
        for (int i = -0; i < size; i++) {
            array[i] = Integer.parseInt(strArray[i]);
        }
        int count = largestSubarray(array,size);
        System.out.println(count);
    }
    static int largestSubarray(int[] array,int size){
        int count = -1;
        int sum = 0;
        Map<Integer,Integer> mymap = new HashMap<>();
        mymap.put(0,-1);
        for(int i=0; i<array.length; i++){
            sum += array[i];
            if(mymap.containsKey(sum)){
                count = Math.max(count, i-mymap.get(sum));
            }
            else{
                mymap.put(sum,i);
            }
        }
        if(count > 0){
            return count;
        }
        else{
            return -1;
        }
    }
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?