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

LeetCode Contains Duplicate 数组

2015-10-29 22:21 405 查看
思路:

104ms,时间复杂度:O(N),空间复杂度:O(N)

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
set<int> s;
for(int num: nums) {
if(s.find(num) != s.end()) return true;
s.insert(num);
}
return false;
}
};


DISCUSS,追求简洁,使用一行的方法:52ms

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
return nums.size() > set<int>(nums.begin(), nums.end()).size();
}
};


使用二行的方法:40ms

时间复杂度:O(NlogN),空间复杂度:O(1)

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
sort(nums.begin(), nums.end());
return unique(nums.begin(), nums.end()) != nums.end();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: