给定一个大小为 N-1 的数组 C,并且给定从 1 到 N 的数字缺少一个元素,则可以找到缺少的数字。
我已经看到它可以使用XOR的一些有趣的属性来解决。
有趣的属性是
Assume a1 ^ a2 ^ a3 ^ …^ an = x and a1 ^ a2 ^ a3 ^ …^ an-1 = y
Then x ^ y = an
我试图理解逻辑,但我失败了。
有人可以解释其中涉及的逻辑吗?
根据定义,a ^ a
是0,在您的情况下,您正在计算:
x: a[0] ^ a[1] ^ a[2] ^ .. ^ a[n-1] ^ a[n] ^
y: a[0] ^ a[1] ^ a[2] ^ .. ^ a[n-1]
=======================================
0 ^ 0 ^ 0 ^ .. ^ 0 ^ a[n] = a[n]