217. Contains Duplicate

problem

217. Contains Duplicate

 solution1:暴力破解

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        for(int i=0; i<nums.size(); i++)
        {
            for(int j=i+1; j<nums.size(); j++)
            {
                if(nums[i]==nums[j]) return true;
            }
        }
        return false;
    }
};
View Code

 solution2:先排序再依序比较两个元素的数值;

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        for(int i=0; i<nums.size()-1; i++)
        {
            if(nums[i]==nums[i+1]) return true;
        }
        return false;
    }
};
View Code

solution3: HashMap.

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

参考

1. Leetcode_Contains Duplicate;

原文地址:https://www.cnblogs.com/happyamyhope/p/10118291.html