【LeetCode】第38天 - 217. 存在重复元素

【LeetCode】第38天 - 217. 存在重复元素,第1张

【LeetCode】第38天 - 217. 存在重复元素

217. 存在重复元素

题目描述解题思路代码实现

题目描述

解题思路

第一种思路:
先对nums数组排序,然后再在遍历nums,如果nums[i] == nums[i + 1],则返回true。

第二种思路:
利用Set集合的性质(不存储相同值),遍历一次nums集合并set.add(),如果add失败,则存在相同元素,返回true。

这里是Set系列集合的源码分析:【攻克java集合系列(三)】java集合中的Set系列集合全面分析

代码实现
class Solution {
    public boolean containsDuplicate(int[] nums) {
        Set set = new HashSet();

        for(int num:nums){
            if(!set.add(num)){
                return true;
            }
        }
        return false;
        // 以下为思路一:
        // Arrays.sort(nums);
        // int length = nums.length;
        // for (int i = 0; i < length - 1; i++) {
        //     if (nums[i] == nums[i + 1]) {
        //         return true;
        //     }
        // }
        // return false;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5721649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存