我们怎样才能找到具有以下限制数组重复的元素:
注意 :
这里阵列是动态的整数数组。
如果阵列中的所有元素都在[0,N)之间,那么我们可以以下面的方式做到这一点
下面是我对上述问题的解决方案。
public static boolean checkDuplicates(int[] arr, int length) {
int value = 0;
boolean isDupFound = false;
for (int i = 0; i < length; i++) {
int currChar = arr[i];
int bit_Position = currChar - 'a';
if ((value & (1 << bit_Position)) > 0) {
isDupFound = true;
break;
} else {
value = value | (1 << bit_Position);
}
}
return isDupFound;
}