哈希表 - LeetCode 217.存在重复元素 🌟
2023-11-30 本文已影响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