961. 重复 N 次的元素

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

4 <= A.length <= 10000
0 <= A[i] < 10000
A.length 为偶数

思路

这道题限制的过多了个人感觉,n个元素出现且仅出现1次,1个元素重复出现n次
所以直接找出出现超过一次的元素即可

性能分析

暴力遍历,时间复杂度O(N),暴力打表,空间复杂度O(N)

具体代码

int table[10024] = {0};
int repeatedNTimes(vector& A) {
    for(int i = 0; i < A.size(); i++){
        table[A[i]]++;
        if(table[A[i]] == 2){
            return A[i];
        }
    }
    return 0;
}

你可能感兴趣的:(961. 重复 N 次的元素)