除了1个(或2个)元素只出现一次之外,每个元素都出现两次。
def find_uniq_one(arr):
xv = 0
for e in arr:
xv = xv ^ e
print( xv )
def find_uniq_two_2(arr):
axorb = 0
for e in arr:
axorb = axorb ^ e
dif = 0
while(axorb & 1 == 0):
axorb = axorb >> 1
dif = dif + 1
axorb = 1 << dif
xa, xb = 0, 0
for e in arr:
if e & axorb:
xa = xa ^ e
else:
xb = xb ^ e
print(xa,xb)
if __name__ == "__main__":
find_uniq_two_2([1,1,2,2,3,4])