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.
Example 1:
Input: [1,2,3,1] Output: true
Example 2:
Input: [1,2,3,4] Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2] Output: true
思路:
面对这种需要记录出现次数的问题,set或者是map通常时很好的选择。
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
map<int,int> s;
for(int num:nums)
if(++s[num] == 2)
return true;
return false;
}
};