机器故障检查

来源:互联网 发布:发房源软件 编辑:程序博客网 时间:2024/05/22 04:39

编程之美中P40

解法三:如果A和B不同的话,那么这个异或值的二进制中某位为1,显然A和B中有且仅有一个数的相同位为1

我们把所有的ID分为2类,一类在这位为1,另一类这位为0。那么对于这两类ID,每一类分别含有A和B中的一个。那么我们使用两个变量,在遍历列表时,分别计算这两类ID的异或和,即可得到A和B的值(太巧妙了)

这样这两类中,每类有2份相同的数据和一个A或者B

原创粉丝点击