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

LeetCodeOJ_217_Contains Duplicate

2015-11-10 16:14 363 查看
答题链接

题目:

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.

Tags: Array Hash Table

Similar: Problems (E) Contains Duplicate II (M) Contains Duplicate III

分析:

notes:输入数组nums是否为null

代码1:

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
map<int, int> nums_map;
map<int, int>::iterator it_map;
vector<int>::iterator nums_iter;
for(nums_iter=nums.begin(); nums_iter!=nums.end(); nums_iter++)
{
it_map = nums_map.find(*nums_iter);
if(it_map==nums_map.end())                     nums_map.insert(map<int,int>::value_type(*nums_iter,1));
else
return true;
}
/*O(n)
for(int i=0;i<len_num;i++)
for(int j=0;j<i;j++)
if(nums[i]==nums[j])
return false;  */
return false;

}
};


结果1:



代码2:

class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
map<int, int> nums_map;
map<int, int>::iterator it_map;
vector<int>::iterator nums_iter;
for(nums_iter=nums.begin(); nums_iter!=nums.end(); nums_iter++)
{
it_map = nums_map.find(*nums_iter);
if(it_map==nums_map.end())
nums_map.insert(map<int, int>::value_type(*nums_iter,1));
else
return true;
}
return false;

}
};


结果2:



总结:

参考资料:无
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: