import java.util.Arrays;
import java.util.HashMap;
public class HashMapChapter {
public static void main(String[] args) {
// Largest subarray length which has the sum equal to k
int k = 0;
HashMap hm = new HashMap();
int ary[] = Genarate_Random.IntArray(10, -10, 10);
System.out.println(Arrays.toString(ary));
int sum = 0, count = 0;
for (int j = 0; j < ary.length; j++) {
sum += ary[j];
if (hm.containsKey(sum - k)) {
count += hm.get(sum - k);
}
hm.put(sum, hm.getOrDefault(sum, 0) + 1);
}
System.out.println(hm + " k=" + k);
System.out.println("SubArray with sum 0 => " + count);
}
}