美文网首页数据结构和算法
哈希表 - LeetCode 217.存在重复元素 🌟

哈希表 - LeetCode 217.存在重复元素 🌟

作者: 我阿郑 | 来源:发表于2023-11-30 11:55 被阅读0次

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

    思路:
    对于数组中每个元素,将它插入到哈希表中。如果插入一个元素时发现该元素已经存在于哈希表中,则说明存在重复的元素

    class Solution {
        public boolean containsDuplicate(int[] nums) {
            // Set集合的特性:无序,不重复
            Set<Integer> set = new HashSet<Integer>();
            for (int x : nums) {
                if (!set.add(x)) {
                     // 该元素已经存在于哈希表中
                    return true;
                }
            }
            return false;
        }
    }
    
    • 时间复杂度O(N),其中 N 为数组的长度。
    • 空间复杂度O(N),其中 N 为数组的长度。

    HashSet是Java中的一种集合类,它实现了Set接口,是基于哈希表的数据结构。

    HashSet不保证元素的顺序,也不允许重复元素。

    • 使用add()方法添加元素
    • 使用size()方法获取HashSet中的元素数量
    • 使用contains()方法检查HashSet中是否包含某个元素
    • 使用remove()方法删除HashSet中的元素
    image.png

    相关文章

      网友评论

        本文标题:哈希表 - LeetCode 217.存在重复元素 🌟

        本文链接:https://www.haomeiwen.com/subject/pxyfgdtx.html