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 ={1,2,1,1,2,1,3};
  14. int k= 2;
  15. System.out.println(countAllSubArrays(arr,k));
  16. }
  17. static int countAllSubArrays(int [] arr,int k){
  18. int[]preSum = new int[arr.length];
  19. preSum[0] = arr[0];
  20. for(int i=1;i<arr.length;i++){
  21. preSum[i] = preSum[i-1]+arr[i];
  22. }
  23. int cnt = 0;
  24. HashMap<Integer,Integer>map = new HashMap<>();
  25. for(int i=0;i<arr.length;i++){
  26. if(map.containsKey(preSum[i]-k)){
  27. cnt+=map.get(preSum[i]-k);
  28. }
  29. map.put(preSum[i],map.getOrDefault(preSum[i],0)+1);
  30. }
  31. return cnt;
  32. }
  33. }
Success #stdin #stdout 0.08s 54552KB
stdin
Standard input is empty
stdout
3