weixin_43078650
weixin_43078650
采纳率23.1%
2019-05-13 17:13 阅读 1.6k

急!!!求助大神,找出一个数组中第一个重复出现两次的元素,没有则返回空。

5

找出一个数组中第一个重复出现两次的元素,没有则返回空。
例如[1,2,3,4,5,2,3,4,2],重复两次的是3和4,3比4先出现,结果为3

```public int getFirstDoubleRepetitiveltem(int[] items){
return null;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-05-13 17:18
    public Integer getFirstDoubleRepetitiveltem(int[] items){
    for (int i = 1; i < items.length; i++)
    for (int j = 0; j < i; j++)
    if (items[i] == item[j]) return new Integer(items[i]);
    return null;
    }
    
    点赞 评论 复制链接分享
  • rubikchen 502203305 2019-05-14 08:56

    建议用java中的set做为存储结构。
    时间复杂度O(n)。创建一个set然后往里面插入数据前判断是否已经存在。
    如果存在,返回,不存在,就添加。
    遍历到末尾返回空。

    点赞 评论 复制链接分享
  • HXNLYW 葫芦胡 2019-05-14 09:38
    public Integer getFirstDoubleItem(Integer[] items){
            Map<Integer,Integer> countMap = new HashMap<>();
            for (int i = 1,length=items.length; i < length; i++){
                if(countMap.containsKey(items[i])){
                    return items[i];
                }else {
                    countMap.put(items[i],1);
                }
            }
            return null;
        }
    
    点赞 评论 复制链接分享
  • qq_38888706 八阿哥看招 2019-05-17 16:24

    创建一个set,把你的数组里的数一次放set里放,每次放了都判断一下set有没有增加,如果没有增加那说明刚放进去的那个数儿就是第一次重复的。复杂度为O

    点赞 评论 复制链接分享
  • sinat_29672375 Market胡波 2019-05-29 11:36

    public static Integer get(int[] items,int count){
    Map map = new HashMap();
    for(int i :items){
    map.put(i, (map.get(i) == null) ? 1 : map.get(i) + 1);
    }
    List list=new ArrayList();
    for (Map.Entry m :map.entrySet()){
    if (m.getValue()==2){
    return m.getKey();
    }
    }

    点赞 评论 复制链接分享
  • weixin_43140427 weixin_43140427 2019-05-31 16:17

    public Integer getFirstDoubleRepetitiveItem(Integer[] items) {
    int i;
    for (i = 0; i < items.length-1; i++) {
    int flag = 1;
    for (int j = 0; j < items.length; j++) {
    if (i==j) {
    continue;
    }
    if (items[i] == items[j]) {
    flag++;
    }
    }
    if (flag == 2) {
    break;
    }
    }
    System.out.println("i:"+i);
    if (i==items.length-1) {
    return null;
    } else {
    return items[i];
    }
    }

    点赞 评论 复制链接分享

相关推荐