fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. int[] arr = {10, 2, -2, -20, 10};
  14. int k = -10;
  15. System.out.println(cntSubarrays(arr, k));
  16. }
  17. static int cntSubarrays(int[] arr, int k){
  18. HashMap<Integer,Integer> map = new HashMap<>();
  19.  
  20. int cnt =0;
  21.  
  22. int currSum = 0;
  23. for(int i=0;i<arr.length;i++){
  24. currSum+=arr[i];
  25. if(currSum == k) cnt++;
  26.  
  27. if(map.containsKey(currSum-k)){
  28. cnt+=map.get(currSum-k);
  29. }
  30. map.put(currSum,map.getOrDefault(currSum,0)+1);
  31. }
  32. return cnt;
  33. }
  34. }
Success #stdin #stdout 0.07s 52480KB
stdin
Standard input is empty
stdout
3