存在重复
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数应该返回 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;
}
}