Leetcode 961.重复 N 次的元素
1 题目描述(Leetcode题目链接)
在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。
返回重复了 N 次的那个元素。
输入:[1,2,3,3]
输出:3
输入:[2,1,2,5,3,2]
输出:2
提示:
- 4 <= A.length <= 10000
- 0 <= A[i] < 10000
- A.length 为偶数
2 题解
计数
class Solution:
def repeatedNTimes(self, A: List[int]) -> int:
for key, value in collections.Counter(A).items():
if value == len(A)//2:
return key
或者找相邻,N个数如果不是交叉插入,则一定会存在相邻。
class Solution:
def repeatedNTimes(self, A: List[int]) -> int:
for i in range(len(A)-2):
if A[i] == A[i+1] or A[i] == A[i+2]:
return A[i]
return A[-1]