LeetCode 1497. 检查数组对是否可以被 k 整除
程序员文章站
2022-07-15 12:48:09
...
public static boolean canArrange(int[] arr, int k) {
int[] h = new int[k];
for(int num : arr){
int mod = num%k;
if(mod < 0)mod+=k;//将负余数 变为正余数
h[mod]++;//对应位置+1
}
if((h[0]&1) == 1)return false;//若余数为零的个数是奇数个 返回false
for (int i = 1; i <= k/2; i++) {//遍历 检查第i和第k-i个数 是否能一样 (是否能凑成%k=0)
if(h[i] != h[k-i]){
return false;
}
}
return true;
}