[LeetCode] 974. 和可被 K 整除的子数组 !!!

Posted 怕什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 974. 和可被 K 整除的子数组 !!!相关的知识,希望对你有一定的参考价值。

方法一:

class Solution {
    public int subarraysDivByK(int[] A, int K) {
        Map<Integer, Integer> record = new HashMap<>();
        record.put(0, 1);
        int sum = 0, ans = 0;
        for (int elem: A) {
            sum += elem;
            // 注意 Java 取模的特殊性,当被除数为负数时取模结果为负数,需要纠正
            int modulus = (sum % K + K) % K;
            int same = record.getOrDefault(modulus, 0);
            ans += same;
            record.put(modulus, same + 1);
        }
        return ans;
    }
}

 

以上是关于[LeetCode] 974. 和可被 K 整除的子数组 !!!的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 974. 和可被 K 整除的子数组 !!!

⭐算法入门⭐《前缀和》中等02 —— LeetCode 974. 和可被 K 整除的子数组

974. 和可被 K 整除的子数组

LeetCode刷题 -- 20200607 前缀和篇

LeetCode刷题 -- 20200607 前缀和篇

如何区分可被 2 整除和可被 4 整除?