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

217. Contains Duplicate

2016-03-23 08:43 447 查看
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least
twice in the array, and it should return false if every element is distinct.

题意:判断一个数组里是否包含重复的元素。

思路:hash表判断,有重复就返回。set的成员函数insert的使用。

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
set<int> myset;
for (int i = 0; i < nums.size(); i++){
if (!myset.insert(nums[i]).second){
return true;
}
}
return false;
}
};


改进思路:用unordered_set代替set。unordered_set用hash实现,set是用红黑树实现。改进后快了7%。

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> myset;
for (int i = 0; i < nums.size(); i++){
if (!myset.insert(nums[i]).second){
return true;
}
}
return false;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: