您的位置:首页 > 编程语言 > Python开发

leetcode-169 多数元素 Python

2020-03-15 12:13 681 查看

方法一:

class Solution:
def majorityElement(self, nums: List[int]) -> int:
dic = {}
for i in nums:
dic[i] = dic.get(i, 0) + 1
if dic[i] >= len(nums)/2:
return i

方法二:

class Solution:
def majorityElement(self, nums: List[int]) -> int:
if not nums:
return None
dic = {}
for i in nums:
if i not in dic:
dic[i] = 1
else:
dic[i] += 1
max = 0
for key.val in dic.items():
if val > max:
max = val
pos = key
if max > int(len(nums)/2):
return pos

方法三:

class Solution:
def majorityElement(self, nums: List[int]) -> int:
if not nums:
return None
dic = {}
for i in nums:
if i not in dic:
dic[i] = 1
else:
dic[i] += 1
max = 0
for key, val in dic.items():
if val > max:
max = val
pos = key
if max > int(len(nums)/2):
return pos

方法四:投票算法

class Solution:
def majorityElement(self, nums: List[int]) -> int:
m = cm = 0
for num in nums:
if m == num:
cm += 1
elif cm == 0:
m = num
cm = 1
else:
cm -= 1
return m

方法五:排序

class Solution:
def majorityElement(self, nums: List[int]) -> int:
nums.sort()
return nums[len(nums)//2]
  • 点赞
  • 收藏
  • 分享
  • 文章举报
Xenonon 发布了32 篇原创文章 · 获赞 0 · 访问量 267 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: