leetcode算法217.存在重复元素

简介: 当给你一个整数数组 nums时 ,如果任一值在数组中出现 至少两次 ,如何返回 true ?如果数组中每个元素互不相同,如何返回 false ?本文带大家解决这些问题。

一、leetcode算法



1、存在重复元素


1.1、题目


给你一个整数数组 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.2、思路


思路一:此题我们可以使用一个hash表来存储数据,当出现存储的数据重复时直接返回true即可,如果没有出现重复数据则返回false。


1.3、答案


10.png


class Solution {
    public boolean containsDuplicate(int[] nums) {
        //定义一个hash表
        Set<Integer> set = new HashSet<Integer>();
        for(int x : nums){
            //如果hash存在相同的数据,则返回true
            if(!set.add(x)){
                return true;
            }
        }
        return false;
    }
}


复杂度分析


时间复杂度:O(N),其中 N 为数组的长度。


空间复杂度:O(N),其中 N 为数组的长度。

相关文章
|
1月前
|
存储 算法 JavaScript
怎么刷算法,leetcode上有哪些经典题目
怎么刷算法,leetcode上有哪些经典题目
16 0
|
1天前
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
|
7天前
|
算法
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
18 3
|
7天前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
11 3
|
7天前
|
算法
代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
28 1
|
8天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
|
10天前
|
算法
【力扣】169. 多数元素
【力扣】169. 多数元素
|
16天前
|
算法 测试技术 Serverless
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
【二分查找】【C++算法】378. 有序矩阵中第 K 小的元素
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真