Contains Duplicate
题目描述:
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.
题目大意:
判断给定的数组中是否有重复的元素,我们可以用map来记录元素的个数,如果元素个数超过1,那么返回true。
或者我们可以把元素全部放到set中,因为set会去除重复元素,所以只要判断一下set的长度和vector的长度是否相等即可。
题目代码:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
map<int,int>m;
for(int i = 0; i < nums.size(); i++){
m[nums[i]]++;
if(m[nums[i]] > 1)
return true;
}
return false;
// return nums.size() > set<int>(nums.begin(), nums.end()).size();
}
};