您的位置:首页 > 大数据 > 人工智能

LeetCode_contains-duplicate

2015-09-09 10:15 411 查看
 原题链接: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;
    }
}; 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: