找出数组中两个不重复的数字:高效异或算法
可以采用异或操作的思路,对于两个重复的数,进行异或操作后,结果为0,而对于两个不同的数,进行异或操作后,结果不为0。因此,可以将数组中所有的数进行异或操作,最终得到的结果就是两个不同的数的异或结果,将其二进制表示中的任意一个不为0的位作为分隔符,将数组中的数分为两组,每一组中都包含一个不同的数和若干个重复的数,对每一组中的数进行异或操作,最终得到的结果就是该组中的不同的数。
原文地址: https://www.cveoy.top/t/topic/nDEt 著作权归作者所有。请勿转载和采集!