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.
问题分析:题目所表达含义就是判断一个整数数组是否是每个元素互不相同,若存在相同的元素就返回true,否则就返回false.解决办法只需要用一个map来统计其中相同元素出现的次数,然后比较map集合大小和之前数组大小是否一致,若一致就说明每个元素均不同,返回false,反之,返回true.代码如下:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
if(nums.size()==0) return false;
int size=nums.size();
map<int,int> countnum;
for(int i=0;i<size;i++){
countnum[nums[i]]++;
}
if(countnum.size()<size)
return true;
else
return false;
}
};