Java XOR over two array [已关闭]

2022-09-04 01:09:30

我必须在两个数组上应用一个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

请帮我一个算法..谢谢!


答案 1

如果要将这些数字存储在字节数组中,请使用以下简单的解决方案:

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

答案 2

这是一个好的解决方案吗?(我写这篇文章感谢你给我的东西)

if(array1.length==array2.length){
  for(int i=0;i<array1.length;i++){

    output.add(logicalXOR(array1.get(i),array2.get(i)))

  }
}

当然,array1,2 和 output 将是 arrayLists