LeetCode每日一题:重复 N 次的元素(No.961)

348 阅读1分钟

题目:重复 N 次的元素


在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。
返回重复了 N 次的那个元素。

示例:


输入:[1,2,3,3]
输出:3
输入:[2,1,2,5,3,2]
输出:2
输入:[5,1,5,2,5,3,5,4]
输出:5

思考:


一共2N个元素,有N+1个不同的元素,有一个元素重复N次。说明该数组中有且只有一个元素重复,就是要求的这个元素。
所以利用一个Map,寻找出现次数大于1次的元素即可。    

实现:


class Solution {
    public int repeatedNTimes(int[] A) {
        Map<Integer, Integer> time = new HashMap<>();
        int count;
        for (count = 0; count < A.length; count++) {
            if (time.containsKey(A[count])) {
                break;
            } else {
                time.put(A[count], 0);
            }
        }
        return A[count];
    }
}