,并且当数组中有n个元素时,代码循环的次数为n,比常规思路中的n^n的时间复杂度简化了不少,运行效率也非常高....,有数字找到了和它相同的数字,那么终止循环,换下一个数字遍历,
直到找出遍历完整个数组都没有找到与它相同的数,将这个数打印/存储,
再继续换下一个数遍历,寻找下一个"单身狗"....它们的二进制末位都是0时,该如何将它俩区分呢?
这时我们可以尝试将两个单身狗异或一下,就能找到其中的规律....因此,我们在最开始的时候将数组中的所有元素相异或,得到的其实就是两个单身狗相异或的结果,
然后将该结果的二进制位从最低位开始检索,直到找到为"1"的那一位,记录下这一位,并以此作为分组的依据,将数组元素分为两组后分别相异或...:
当数组的元素为n时,可得进阶的时间复杂度约等为:2n+32.相比常规思路的n^n效率高了不少.