weixin_43078650 2019-05-13 17:19 采纳率: 0%
浏览 657
已采纳

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

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

public int getFirstDoubleRepetitiveltem(int[] items){
//代码
return null;
}
  • 写回答

6条回答 默认 最新

  • 孙大胜 2019-05-13 17:32
    关注
    public static void main(String[] args) {
            int value = 0;
            int[] aa = { 1, 2, 3, 4, 5, 2, 3, 4, 2 };
            Map<Integer, Integer> m = new LinkedHashMap<Integer, Integer>();
            // 将每个数字对应的个数放入map
            for (int i = 0; i < aa.length; i++) {
                if (m.containsKey(aa[i])) {
                    m.put(aa[i], ((Integer) m.get(aa[i])) + 1);
                } else {
                    m.put(aa[i], 1);
                }
            }
            // 遍历map
            Iterator<Map.Entry<Integer, Integer>> it = m.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<Integer, Integer> entry = it.next();
                if (entry.getValue() == 2) {
                    value = entry.getKey();
                    break;
                }
            }
            System.out.println(value);
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?