unordered_map和vector模拟

数组中重复的数字

http://www.nowcoder.com/questionTerminal/6fe361ede7e54db1b84adc81d09d8524

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;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 15:07
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务