题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是给一个整数数组和一个整数 k,要求其中所有子数组和能被 k 整除的数量。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
class Solution:
def subarraysDivByK(self, nums: List[int], k: int) -> int:
s = list(accumulate(nums, initial=0))
rec = defaultdict(int)
ans = 0
for i in s:
index = i % k
ans += rec[index]
rec[index] += 1
return ans