18 lines
286 B
Go
18 lines
286 B
Go
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
|
|
}
|