public static int onlyKTimes(int[] arr, int k, int m) {
int[] help = new int[32];
//遍历数组,对应位置加入help数组 &1
int target = 0;
for (int num : arr) {
for (int i = 0; i < 32; i++) {
help[i] += (num >> i) & 1;
}
}
//遍历help数组、不是m次的加入结果
for (int i = 0; i < help.length; i++) {
if ((help[i] % m) != 0) {
target |= (1 << i);
}
}
return target;
}
输入一定能够保证,数组中所有的数都出现了M次,只有一种数出现了K次
最新推荐文章于 2024-07-08 22:12:26 发布