【LeetCode Hot 100】169. 多数元素
【LeetCode Hot 100】169. 多数元素
摩尔投票
class Solution:
def majorityElement(self, nums: List[int]) -> int:
votes = 0
for num in nums:
if votes == 0:
x = num
votes += 1
else:
if x == num:
votes += 1
else:
votes -= 1
return x
# 此题的前提是必有众数,所以无论众数是-1还是+1,都可以把其他数字抵消掉,并且众数能活到最后,此题关于众数的定义是超过数组的一半,所以众数有且只有一个。