美文网首页数据结构和算法
哈希表 - 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