编程之美中P40
解法三:如果A和B不同的话,那么这个异或值的二进制中某位为1,显然A和B中有且仅有一个数的相同位为1
我们把所有的ID分为2类,一类在这位为1,另一类这位为0。那么对于这两类ID,每一类分别含有A和B中的一个。那么我们使用两个变量,在遍历列表时,分别计算这两类ID的异或和,即可得到A和B的值(太巧妙了)
这样这两类中,每类有2份相同的数据和一个A或者B
编程之美中P40
解法三:如果A和B不同的话,那么这个异或值的二进制中某位为1,显然A和B中有且仅有一个数的相同位为1
我们把所有的ID分为2类,一类在这位为1,另一类这位为0。那么对于这两类ID,每一类分别含有A和B中的一个。那么我们使用两个变量,在遍历列表时,分别计算这两类ID的异或和,即可得到A和B的值(太巧妙了)
这样这两类中,每类有2份相同的数据和一个A或者B