题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是给一个数组,长度 2n,现在其中有一个数字重复 n 次,需要找到这个数字。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution:
def repeatedNTimes(self, nums: List[int]) -> int:
class Solution:
def repeatedNTimes(self, nums: List[int]) -> int:
x, hp = nums[0], 1
for num in nums[1:]:
if num == x:
return x

if hp == 0:
x = num
hp = 1
else:
hp += 1 if num == x else -1

return x

rec = set()
for num in nums:
if num in rec:
return num
rec.add(num)