[LeetCode] Subarray Sums Divisible by K

974. Subarray Sums Divisible by K

Given an integer array nums and an integer k, return the number of non-empty subarrays that have a sum divisible by k.

A subarray is a contiguous part of an array.

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
int subarraysDivByK(vector<int>& A, int k) {
int res = 0, sum = 0;
unordered_map<int, int> freq{{0, 1}};
for(auto& a : A) {
sum = (sum + (a % k) + k) % k;
res += freq[sum];
freq[sum]++;
}
return res;
}
};
Author: Song Hayoung
Link: https://songhayoung.github.io/2022/06/06/PS/LeetCode/subarray-sums-divisible-by-k/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.