在大小为 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
为偶数
- 直接用哈希表或者集合等数据结构就可解决。
- 由题意,只有一个元素是重复的,找到就行了。
class Solution:
def repeatedNTimes(self, A):
if A[0] == A[1] or A[0] == A[2] or A[0] == A[3]:
return A[0]
elif A[1] == A[2] or A[1] == A[3]:
return A[1]
elif A[2] == A[3]:
return A[2]
i = 4
while i < len(A):
if A[i] == A[i + 1]:
return A[i]
i += 2