方法一:哈希表
class Solution:
def majorityElement(self, nums: List[int]) -> int:
counts = collections.Counter(nums) #计数函数 {元素:次数}
return max(counts.keys(), key = counts.get) #比较所有的值 返回键
方法二:排序
class Solution:
def majorityElement(self, nums: List[int]) -> int:
nums = sorted(nums)
return nums[len(nums)//2]
方法三:摩尔投票法
class Solution:
def majorityElement(self, nums: List[int]) -> int:
res = 0
count = 0
for num in nums :
if count == 0 :
res = num
if res == num :
count += 1
else :
count -= 1
return res