从10万条(int)数组中找到重复的数

来源:互联网 发布:2017淘宝如何提高销量 编辑:程序博客网 时间:2024/05/20 23:40

      本人小白,以前面试的时候,面试官给我出的一道算法题,当时没有想出来。昨天晚上又想起了这道题,就试着去解,结果如下,分享给大家:

public class Storage {    private Storage storage;    private Integer number;    //将数据放入    public Storage put(Integer number){       if(this.storage!=null&&this.has(number)){           System.out.println("重复:"+number);           return this;       }else{           this.number = number;           Storage storage1 = new Storage();           storage1.storage = this;           return storage1;       }    }    //检查是否相同    private boolean has(Integer number){       if(storage==null||storage.number==null){           return false;       }        if(this.storage.number!=null&&this.storage.number==number){            return true;        }        return storage.has(number);    }}

public class Main {    public static void main(String[] args){        Integer[] num = {1,5,9,4,4,3,11,12,13,61,45,789,12,33};        Storage storage = new Storage();        for(Integer i:num){            storage =storage.put(i);        }    }}
运行结果:
重复:4重复:12

0 0