두 개의 배열 rr1과 arr2가 있다고 가정합니다. 목록의 XOR 합은 모든 요소의 비트별 XOR입니다. 목록에 요소가 하나만 있는 경우 해당 XOR 합계는 요소 자체가 됩니다. 이제 목록에 0 <=i
따라서 입력이 arr1 =[5,3,4] arr2 =[2,6]과 같으면 목록이 [5 AND 2, 5 AND 6, 3 AND 2, 3 AND 6이기 때문에 출력은 0이 됩니다. , 4 AND 2, 4 AND 6] =[0, 4, 2, 2, 0, 4], 이제 XOR 합은 [0 XOR 4 XOR 2 XOR 2 XOR 0 XOR 4] =0
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
xor1 :=0
xor2 :=0
arr1의 각각에 대해 수행
xor1 :=xor1 XOR a
arr2의 각각에 대해 수행
xor2 :=xor2 XOR a
xor1 및 xor2 반환
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
예시
def solve(arr1, arr2):
xor1 = 0
xor2 = 0
for a in arr1:
xor1 ^= a
for a in arr2:
xor2 ^= a
return xor1 & xor2
arr1 = [5,3,4]
arr2 = [2,6]
print(solve(arr1, arr2))
입력
[5,3,4], [2,6]
출력
0