找出数组中唯一的重复元素

Q:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间


A:

方法一:

将1001个数加起来,再减去1+2+3+…+1000,不过这种方法不通用,容易溢出。

方法二:

将1001个数异或,然后和1^2^3^…^1000的结果进行异或,最后的结果就是要求的数。

posted @ 2012-07-16 13:22  Cavia  阅读(395)  评论(0编辑  收藏  举报