unordered_map

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型vector 
     * @return int整型
     */
    int duplicate(vector<int>& numbers) {
        // write code here
        unordered_map<int,int> mp;

        for( auto num : numbers )
        {
            mp[num]++;
            if( mp[num]>=2 )
            {
                return num;
            }
        }
        return -1;
    }
};

vector模拟Hash

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型vector 
     * @return int整型
     */
    int duplicate(vector<int>& numbers) {
        // write code here
        int Len=numbers.size();
        vector<int> myHash(Len);

        for( auto num : numbers )
        {
            ++myHash[num];
            if( myHash[num]>=2 )
            {
                return num;
            }
        }
        return -1;
    }
};