当前位置 博文首页 > 一条coding:【leetcode刷题】38.存在重复元素——Java版

    一条coding:【leetcode刷题】38.存在重复元素——Java版

    作者:[db:作者] 时间:2021-08-24 10:03

    ?欢迎订阅《leetcode》专栏,每日一题,每天进步?

    java Set自带去重,如果去重后的长度小于原长度,则返回true

    ——leetcode此题热评

    前言

    哈喽,大家好,我是一条。

    糊涂算法,难得糊涂

    Question

    217. 存在重复元素

    难度:简单

    给定一个整数数组,判断是否存在重复元素。

    如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

    示例 1:

    输入: [1,2,3,1]
    输出: true
    

    示例 2:

    输入: [1,2,3,4]
    输出: false
    

    示例 3:

    输入: [1,1,1,3,3,4,3,2,4,2]
    输出: true
    

    Solution

    hashset

    • 利用hashset去重的原理
    • 如果添加元素时返回false,则存在

    Code

    所有leetcode代码已同步至github

    欢迎star

    /**
     * @author yitiaoIT
     */
    class Solution {
        public boolean containsDuplicate(int[] nums) {
            Set<Integer> set = new HashSet<Integer>();
            for (int x : nums) {
                if (!set.add(x)) {
                    return true;
                }
            }
            return false;
        }
    }
    

    Result

    复杂度分析

    • 时间复杂度:O(N)

    image-20210822222840620

    🌈寻宝

    ?今天是坚持刷题更文的第38/100天

    ?各位的点赞、关注、收藏、评论、订阅就是一条创作的最大动力

    ?更多算法题欢迎关注专栏《leetcode》

    为了回馈各位粉丝,礼尚往来,给大家准备了一些算法教学视频和电子书

    需要的小伙伴可以私信我领取,不过一定要先关注哦!不然无法发私信!

    cs