LeetCode存在重复

存在重复

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

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

解法一:
效率不高

bool containsDuplicate(vector<int>& nums) {
        if(nums.size()==0)
            return false;
        map<int,int> map;
        for(vector<int>::iterator iter=nums.begin();iter!=nums.end();++iter)
        {
            if(map.find(*iter)!=map.end())
                return true;
            else
                map[*iter]=1;
        }
        return false;
    }

解法二:
效率较高

  bool containsDuplicate(vector<int>& nums) {
        int flag = 0;
        if(nums.size()<2)
            return false;
        else{
            sort(nums.begin(),nums.end());
            for(auto i=0;i<nums.size();i++){
                if(nums[i] == nums[i+1]){
                    flag = true;
                    break;
                }    
                else
                    flag = false;
            }
            return flag;
        }

    }

猜你喜欢

转载自blog.csdn.net/wjh_init/article/details/80072522
今日推荐