过个年太吵了,今天才回归正轨。一般思路即可通关,每个元素都考虑一次,计算其他所有元素的异或判断是否相等即可。
可以通过旋转队列实现
from collections import deque
T = int(input())
for _ in range(T):
n = int(input())
a = deque(map(int,input().split()))
f = False
i = 0
res = 0
while not f and i != n:
#计算除开第一个所有元素的异或
x = 0
for j in range(1,n):
x = x ^ a[j]
#判断是否等于假定的新元素
if x == a[0]:
f = True
res = x
break
#找到了就停止循环
#找不到就旋转序列,考虑下一个元素
a.rotate(1)
i += 1
print(res)

京公网安备 11010502036488号