AlgoMaster Logo

Subarray Sum Equals K

nums=[1, 1, 1],k=2
1public int subarraySum(int[] nums, int k) {
2    Map<Integer, Integer> map = new HashMap<>();
3    map.put(0, 1);
4    int sum = 0;
5    int count = 0;
6
7    for (int curr : nums) {
8        sum += curr;
9        int target = sum - k;
10        if (map.containsKey(target)) {
11            count += map.get(target);
12        }
13        map.put(sum, map.getOrDefault(sum, 0) + 1);
14    }
15
16    return count;
17}
0 / 11
count = 0111sum = 0map = {}