题目:
数组a[N],1至N-1这N-1个数存放在a[N]中,其中某个数重复一次。写一个函数,找出被重复的数字。
异或法
数组a[N]中的N个数异或结果与1至N-1异或的结果再做异或,得到的值即为所求。
- 设重复数为A,其余N-2个数异或结果为B。
- N个数异或结果为A^A^B
- 1至N-1异或结果为A^B
- 由于异或满足交换律和结合律
题目:
数组a[N],1至N-1这N-1个数存放在a[N]中,其中某个数重复一次。写一个函数,找出被重复的数字。
异或法
数组a[N]中的N个数异或结果与1至N-1异或的结果再做异或,得到的值即为所求。