代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

@param numbers int整型一维数组

@return int整型

惭愧,刷了这么久的题,这种题目还需要想许久

我还是习惯用字典来做,用对set的使用还是有些生疏,但是对dic的使用还是不错的

就是简单地遍历数组,然后在字典中读取判断

class Solution:

def duplicate(self , numbers: List[int]) -> int:
    # write code here
    if numbers == []:
        return -1
    res = {}
    for a in numbers:
        if a not in res:
            res[a] = 1
        else:
            res[a] += 1
            
    for k,v in res.items():
        if v != 1:
            return k
            
    return -1