例如:
有数组的元素是:1,2,3,4,5,1,2,3,4
只有5出现了一次,要找出5.
2.解题思路
常规思路:
在常规思路中,我们首先想到的肯定是使用两层循环嵌套的方式遍历整个数组,
如果在遍历的过程中...例如:
有数组的元素是:1,2,3,4,5,1,2,3,4,6
只有5和6出现了一次,要找出5和6.
2.解题思路
常规思路:
在常规思路中,我们同样是使用两层循环嵌套的方式遍历整个数组,
如果在遍历的过程中...进阶思路:
先来观察数组:
int arr[]={1,2,3,4,5,1,2,3,4,6};
我们把这几个数组元素摘出来,便于观察:
接下来就是要解决问题了,首先我们想到的是,能不能将这些元素分成两组,...它们的二进制末位都是0时,该如何将它俩区分呢?
这时我们可以尝试将两个单身狗异或一下,就能找到其中的规律....因此,我们在最开始的时候将数组中的所有元素相异或,得到的其实就是两个单身狗相异或的结果,
然后将该结果的二进制位从最低位开始检索,直到找到为"1"的那一位,记录下这一位,并以此作为分组的依据,将数组元素分为两组后分别相异或