给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
示例 1:
输入:nums = [1,2,3,1]
输出:true
示例 2:
输入:nums = [1,2,3,4]
输出:false
示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true
提示:
1 <= nums.length <= 105
-109 <= nums[i] <= 109
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/contains-duplicate
思路:可利用哈希表存储每个数出现的次数,时间复杂度O(n);
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_map<int ,int >m;
for(int i=0;i<nums.size();i++)
{
if(m.count(nums[i])==0)
m.insert({nums[i],1});
else
return true;//出现了多次直接返回
}
return false; //全部遍历完还未返回表示无重复元素
}
};