【题目】
在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N 次的那个元素。
来源:leetcode
链接:https://leetcode-cn.com/problems/n-repeated-element-in-size-2n-array/
【示例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 为偶数
【代码】
set
class Solution {
public:
int repeatedNTimes(vector<int>& A) {
set<int> s;
int prelen=0;
for(auto x:A){
prelen=s.size();
s.insert(x);
if(prelen==s.size())
return x;
}
return -1;
}
};
【排序】
class Solution {
public:
int repeatedNTimes(vector<int>& A) {
sort(A.begin(),A.end());
int pre=-1;
for(auto x:A)
if(pre==x)
return x;
else
pre=x;
return pre;
}
};