Another Two Sum
class Solution {
public int subarraysDivByK(int[] A, int K) {
int[] sum = new int[A.length + 1];
for (int i = 0; i < A.length; ++i) sum[i + 1] = sum[i] + A[i];
Map<Integer, Integer> c = new HashMap<Integer, Integer>();
int ret = 0;
for (int i = 0; i <= A.length; ++i) {
int v = (sum[i] % K + K) % K;
int count = c.getOrDefault(v, 0);
ret += count;
c.put(v, count + 1);
}
return ret;
}
}