我必须在两个数组上应用xor,比如说我有:
array_1: 1 0 1 0 1 1
array_2: 1 0 0 1 0 1
我想有一个函数接受两个数组并返回一个应用XOR的数组, 所以在这种情况下我希望这个函数返回:
returned_array: 0 0 1 1 1 0
请帮我一个算法..谢谢!
答案 0 :(得分:22)
如果要将这些数字存储在字节数组中,请使用以下简单的解决方案:
byte[] array_1 = new byte[] { 1, 0, 1, 0, 1, 1 };
byte[] array_2 = new byte[] { 1, 0, 0, 1, 0, 1 };
byte[] array_3 = new byte[6];
int i = 0;
for (byte b : array_1)
array_3[i] = b ^ array_2[i++];
输出数组:
0 0 1 1 1 0
答案 1 :(得分:-1)
这是一个很好的解决方案吗? (我写这封感谢你给我的东西)
if(array1.length==array2.length){
for(int i=0;i<array1.length;i++){
output.add(logicalXOR(array1.get(i),array2.get(i)))
}
}
当然array1,2和输出将是arrayLists