Leetcode 974. Subarray Sums Divisible by K

前缀和(prefix sum/cumulative sum)的应用.

还用了一个知识点:

a≡b(mod d) 则 a-b被d整除.

即:a与b对d同余,则a-b被d整除.

class Solution(object):
    def subarraysDivByK(self, A, K):
        P = [0]
        for x in A:
            P.append((P[-1] + x) % K)

        count = collections.Counter(P)
        return sum(v*(v-1)/2 for v in count.values())

 

posted @ 2019-03-16 20:16  周洋  阅读(246)  评论(0编辑  收藏  举报