酷酷的算法酷酷的算法
蓝莓随便扯
操作系统
计算机网络
分布式系统
力扣刷题
编程语言
GitHub
蓝莓随便扯
操作系统
计算机网络
分布式系统
力扣刷题
编程语言
GitHub
  • 0219 存在重复元素 II

0219 存在重复元素 II

你好啊,我是蓝莓,今天是每日一题的第 32 天。

题目清单:一起刷力扣

引用力扣题目:217 存在重复元素

题目描述

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

示例 1:

**输入:**nums = [1,2,3,1]

**输出:**true

解释:

元素 1 在下标 0 和 3 出现。

示例 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

实现

思路

  • 这是一个简单题,直接使用哈希表来记录每个遍历过得元素出现的次数就可以
  • 当我们将一个新的元素加入到哈希表的统计后,我们就看看当前这个元素的出现次数是不是大于或等于 2 了,如果是的话,直接返回成功,不然继续遍历
  • 如果遍历完所有的元素后都没有成功,那就说明不存在重复的元素,返回失败

C++ 代码实现

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_map<int, int> record;

        for( int num : nums ) {
            if( ++record[num] >= 2 ) {
                return true;
            }
        }

        return false;
    }
};
完善页面
最近更新: 2025/9/25 12:56