定义:同为0,异为1
0^0 0
1^0 1
奇数^1 加-1;偶数^1 加1
任何整数^0 不变:abb(可以调换顺序)=a 这个就是交换两个变量不用临时变量的方法之一
给你1-1000个连续自然数,然后从中随机去掉两个,再打乱顺序,要求只遍历一次,求出被去掉的两个数。
不用数学方程的方法,用异或解决。
原理就是两个数的异或可以确定哪些二进制位是不同的,那么就以这个为标准,来分开原始数组为两组,那么这两组必然一个含有其中一个,另一数组必然含有另外一个;改变后的数组也这样分,那么必然是一一对应,但每组必然少掉那个减少的数,在对应的两组求异或就可以获取到其中一个,另外两个数组求异或自然是另一个减少的数。
网友评论