题目:数字1~1000放在含有10001个元素的数组中,其中只有唯一的一个元素重复,其它数字均只出现一次。
分析:使用字典的方法
def findDup(arr):
if arr is None:
return -1
hashTable = {}
i = 0
while i < len(arr):
if arr[i] - 1 not in hashTable:
hashTable[arr[i] - 1] = arr[i] - 1
else:
return arr[i]
i += 1
return -1
if __name__ == "__main__":
arr = [1, 3, 4, 2, 5, 3]
print(findDup(arr))
程序的运行结果为:3