Binary Subarrays With Sum LeetCode solution in Java
1class Solution {2public int numSubarraysWithSum(int[] nums, int goal) {34int pre=0,cnt=0;5HashMap<Integer,Integer> m=new HashMap();6for(int i:nums){78pre+=i;9// if(pre-goal<0)continue;10if(pre-goal==0)cnt++;1112if(m.containsKey(pre-goal)){13cnt+=m.get(pre-goal);141516}17m.put(pre,m.getOrDefault(pre,0)+1);18192021}2223return cnt;24}