AlgoMaster Logo

Continuous Subarray Sum

nums=[23, 2, 4, 6, 7],k=6
1public boolean checkSubarraySum(int[] nums, int k) {
2    Map<Integer, Integer> map = new HashMap<>();
3    map.put(0, -1);
4    int sum = 0;
5
6    for (int i = 0; i < nums.length; i++) {
7        sum += nums[i];
8        int remainder = ((sum % k) + k) % k;
9        if (map.containsKey(remainder)) {
10            if (i - map.get(remainder) >= 2) {
11                return true;
12            }
13        } else {
14            map.put(remainder, i);
15        }
16    }
17
18    return false;
19}
0 / 10
found = false232467sum = 0map = {}