1497. 检查数组对是否可以被 k 整除

class Solution {
    public static boolean canArrange(int[] arr, int k) {
        Map<Integer, Integer> mod = new HashMap<Integer, Integer>();
        for (int num : arr) {
            mod.put((num % k + k) % k, mod.getOrDefault((num % k + k) % k, 0) + 1);
        }
        for (Map.Entry<Integer, Integer> entry : mod.entrySet()) {
            int t = entry.getKey(), occ = entry.getValue();
            if (t > 0 && mod.getOrDefault(k - t, 0) != occ) {
                return false;
            }
        }
        return mod.getOrDefault(0, 0) % 2 == 0;
    }
}

 

posted on 2022-07-25 17:08  MaXianZhe  阅读(20)  评论(0编辑  收藏  举报

导航