【初级算法】4.存在重复

题目:

给定一个整数数组,判断是否存在重复元素。

如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false

解题思路如下:

1.排序:按顺序遍历整个数组,如果发现有数组存在重复则返回结果

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

2.集合查找:如何集合查找发现有重复元素则返回true,否则返回false。

 bool containsDuplicate(vector<int>& nums) {
        set<int> m;
        
        for(int i = 0;i < nums.size(); ++i){
            if(m.find(nums[i])!=m.end()){
                return true;
            }else{
                m.insert(nums[i]);
            }
        }
        
        return false;
    }
原文地址:https://www.cnblogs.com/mikemeng/p/8981637.html