暴力。
一种更好的方法是因为数组中必定有一个元素出现 $N$ 次,那这个元素相邻的距离最大为 $2$,即要么这个元素相邻出现,要么它最多间隔两个位置。
另一种更好的方法是在数组中随机选取两个元素,看它们是否相等,如果相等,那就是目标元素,如果不相等,再次选择。由于目标元素选中的概率是 $\frac{1}{2}$,两次都选中目标元素的概率是 $\frac{1}{4}$,平均选 $4$ 次即可选中目标元素。
from collections import Counter
from typing import List
class Solution:
def repeatedNTimes(self, nums: List[int]) -> int:
return Counter(nums).most_common(1)[0][0]