阿里云的一道题

来源:互联网 发布:五十知天命翻译 编辑:程序博客网 时间:2024/05/01 05:15

http://topic.csdn.net/u/20110918/10/b4483cb3-c920-4bac-b3cb-711261b08393.html#top




2、数列L中有n个整数,其中K个数字出现了两次,1个数字出现了一次,所以n=2k+1;请在使用O(1)空间的前提下,尽快找出只出现一次的那个数字,并说明算法的复杂度。



有人给出的答案是异或,想了半天没想通,现在终于懂了


其他的数字都是出现2次的,异或完了肯定是0,最后剩下的就是那个只出现了一次的数字