暴力一发
class Solution:
def majorityElement(self, nums):
dic={}
res=[]
for i in nums:
dic[i]=0
for i in nums:
dic[i]+=1
for i in nums:
if dic[i]>len(nums)//2:
return i
稍微动一下脑子,超过数组一般的数就是众数喽。
所以将数组由小到大排序,中间那个就是众数
class Solution:
def majorityElement(self, nums):
nums.sort()
if len(nums)%2==0: return nums[len(nums)//2]
else: return nums[len(nums)//2]
另附大神思路。
摩尔投票法,很巧妙。。。。
class Solution:
def majorityElement(self, nums):
votes=0
for i in nums:
if votes==0:
x=i
votes+=1
continue
if x==i:
votes+=1
else:
votes-=1
return x