算法day01-查找重复值

题目为剑指offer第二期第一题

利用hashset不能存储重复值的特性 我们来查找重复值 然后放在一个预先准备好的容器 最后输出 


public class 数组中的重复查找 {
    /*思路: 主要是基于hashset的不能重复 hashset底层是调用hashmap的put方法 如果返回值不为null 就说明key存在了重复*/
    public static void main(String[] args) {
        int[] array =new int[]{2,3,1,0,2,5,3};
        ArrayList<Integer> check = check(array);
        for (Integer integer : check) {
            System.out.println(integer);
        }

    }
    public static ArrayList<Integer> check(int[] array){
        /*创建一个数组用来存放重复的元素*/
        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        /*创建一个hashset元素用来判断是否重复的容器*/
        HashSet<Integer> checkkey =new HashSet<Integer>();
        /*对数组进行遍历 每一个元素加入其中判断返回值*/
        for (int i : array) {
            boolean flag = checkkey.add(i);
            if (!flag){
                arrayList.add(i);
            }
        }

       return arrayList;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值