题目描述:
首刷自解:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
sort(nums.begin(), nums.end());
vector<int>::const_iterator iter1, iter2;
if(nums.size() ==1)
return 0;
iter1 = nums.begin();
iter2 = nums.begin() + 1;
while (*iter1 != *iter2)
{
++iter1;
++iter2;
if (iter2 == nums.end())
{
return 0;
}
}
return 1;
}
};
进阶看解:
bool advanced_containsDuplicate(vector<int>& nums)
{
unordered_set<int>buckets;
for (const auto& iter : nums)
{
if (buckets.find(iter) != buckets.end())
return true;
buckets.insert(iter);
}
return false;
}