前言
Weekly Contest 116的 重复 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
个相同元素和N
个不同的元素组成的长度为2N
的数组,所以只需要对数组排序后,相邻的两个元素进行比较,找到相同的元素并返回该元素即可。
实现代码
/**
* 961. 重复 N 次的元素
* @param A
* @return
*/
public int repeatedNTimes(int[] A) {
int num=-1;
Arrays.sort(A);
for(int i=0;i<A.length-1;i++){
if(A[i]==A[i+1]){
num=A[i];
break;
}
}
return num;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。