LeetCode/go/subarray-sums-divisible-by-k.go

19 lines
286 B
Go
Raw Normal View History

package main
func subarraysDivByK(nums []int, k int) int {
counters := make([]int, k)
counters[0] = 1
total := 0
runningMod := 0
for _, num := range nums {
runningMod = (k + runningMod + num%k) % k
total += counters[runningMod]
counters[runningMod]++
}
return total
}