原题链接:https://leetcode.com/problems/contains-duplicate/
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
set<int> s;
s.insert(nums.begin(),nums.end());
if(s.size() == nums.size())
return false;
else
return true;
}
};
使用find会超时:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
vector<int>::iterator iter;
for(iter = nums.begin();iter != nums.end();++iter)
{
if(nums.end() != find(iter+1,nums.end(),*iter))
return true;
}
return false;
}
};
排序:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
sort(nums.begin(),nums.end());
vector<int>::iterator iter,t;
if(nums.empty())//确保nums不为空
return false;
iter = nums.begin()+1;
for(;iter != nums.end();++iter)
{
t=iter-1;
if(*iter == *t)
return true;
}
return false;
}
};