【Python-BD面试题】如何找出数组中唯一的重复元素

题目:数字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

你可能感兴趣的:(【Python-BD面试题】如何找出数组中唯一的重复元素)