1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public int subarraysDivByK(int[] nums, int k) { int sum = 0, res = 0; Map<Integer, Integer> remainderToCountMap = new HashMap<>(); remainderToCountMap.put(0, 1); for (int num : nums) { sum += num; int remainder = ((sum % k) + k) % k; int sameCount = remainderToCountMap.getOrDefault(remainder, 0); res += sameCount; remainderToCountMap.put(remainder, sameCount + 1); }
return res; } }
|
References
974. Subarray Sums Divisible by K