majority element 2比1的不同在于1:不再是一定存在元素;2:由n/2变为n/3。1的可以排序直接查中间的元素来做,2就不行了。祭出来Counter就十分轻松啦。代码如下:
class Solution(object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
from collections import Counter
if nums == []:
return []
a = Counter(nums)
b = []
for i in a.keys():
if a[i] > len(nums) / 3:
b.append(i)
return b实际上可以把一开始的空集判断也是正确的。
探讨多数元素问题从n/2到n/3的变化,介绍如何使用Counter解决这一复杂问题,并提供Python实现代码。
165

被折叠的 条评论
为什么被折叠?



