查找算法之查找一个数组中只出现过一次的数

题目:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。

解决方案:将数组中每一个数的二进制位相加,因为其他数字都出现了三次,所以相加的每一位除以3,如果余数为0,那么此位上x值为0;如果余数为1,那么此位上x值为1

看如下例子,按照此方法找出,x为7

 

代码如下:

原文地址:https://www.cnblogs.com/lilideng/p/FindDifference-2.html