[Array]Contains Duplicate

Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

思路:
1. 暴力解决。
2. 先排序,再比较。
3. 遍历过非重复的数字放进set中,此处用unordered_set,然后将当下比较的数字是否在set中。

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_set<int> st;
        for(int i=0;i<nums.size();i++){
            if(st.find(nums[i])==st.end())
                st.insert(nums[i]); 
            else 
                return true;
        }
        return false;

    }
};
posted @ 2016-07-07 23:36  U_F_O  阅读(93)  评论(0编辑  收藏  举报