"""
数据1~1000放在含有1001个元素的数组中,其中只有唯一的一个元素值重复,其他数字均只出现一次。设计一个算法,将重复元素找出来,要求每个数组元素只能访问一次。
如果不使用辅助存储空间,能否设计一个算法实现?
"""
def findDup(array):
if None == array:
return -1
lens = len(array)
result = 0
i = 0
while i < lens:
result ^= array[i]
i += 1
j = 1
while j < lens:
result ^= j
j += 1
return result
if __name__ == '__main__':
array = [1, 3, 4, 2, 5, 3]
print(findDup(array))
运行结果如下:
3