算法题:存在重复元素 难度:简单

这道题可以用直接暴力算法两个循环,但在java中可以应用HashSet

class Solution {
    
    
    public boolean containsDuplicate(int[] nums) {
    
    
        Set<Integer> res = new HashSet<>();
        boolean a = true;
        for(int i : nums) {
    
    
            a = res.add(i);
            if(a == false){
    
    
                return true;
            }
        }
        return false;
    }
}

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。

HashSet 允许有 null 值。
这里是引用HashSet 是无序的,即不会记录插入的顺序。

HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不?>确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

HashSet 实现了 Set 接口。

HashSet 加入数据时,用的是add(),在底层其实也是调用的map的put,移去也是remove();

记得需要关于无重复的题时,可以应用HashSet

猜你喜欢

转载自blog.csdn.net/please93/article/details/121621902