【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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容