LeetCode 169.求众数( Majority Element)
发布日期:2021-06-29 17:11:00
浏览次数:2
分类:技术文章
本文共 1193 字,大约阅读时间需要 3 分钟。
LeetCode.jpg
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。
示例 1:
输入: [3,2,3]
输出: 3 示例 2:输入: [2,2,1,1,1,2,2]
输出: 2Python3 实现
排序法
# @author:leacoder# @des: 排序法 求众数 时间复杂度 O(nlg(n))class Solution: def majorityElement(self, nums: List[int]) -> int: nums.sort() return nums[int(len(nums)/2)] #条件>n/2,所以排序后,中间元素一定是众数
dic计数
# @author:leacoder# @des: dic 求众数class Solution: def majorityElement(self, nums: List[int]) -> int: dic = {} for num in nums: if num in dic: dic[num] = dic[num]+1 else: dic[num] = 1 length = len(nums) for num in dic: if dic[num]>int(length/2): return num
摩尔投票法
# @author:leacoder# @des: 摩尔投票法 求众数class Solution: def majorityElement(self, nums: List[int]) -> int: moore = 0 count = 0 for num in nums: #由于给定的数组总是存在众数。 众数 与 非众数 抵消后最后 count必然>0 if count == 0: moore = num #最终 moore 存放的就是众数 if num == moore: count +=1 #重复一次 +1 else: count -=1 #出现其他数据 -1 return moore
GitHub链接:
知乎个人首页:个人Blog:欢迎大家来一起交流学习
转载地址:https://blog.csdn.net/leacock1991/article/details/101467138 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月06日 21时50分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Python爬虫实战】知乎热榜数据采集,上班工作摸鱼两不误,知乎热门信息一网打尽
2019-04-29
Python抓取哔哩哔哩up主信息:只要爬虫学的好,牢饭吃的早
2019-04-29
有个码龄5年的程序员跟我说:“他连wifi从来不用密码”
2019-04-29
【Python爬虫实战】为何如此痴迷Python?还不是因为爱看小姐姐图
2019-04-29
数字化转型的主干道上,华为云以“三大关键”成企业智能化推手
2019-04-29
和总裁、专家交朋友,华为云助推政企智能化升级又做到前面去了
2019-04-29
BCOP章鱼船长,6月22日晚上8点上线薄饼
2019-04-29
为战疫助力,半导体功不可没
2019-04-29
了解这些操作,Python中99%的文件操作都将变得游刃有余!
2019-04-29
知道如何操作还不够!深入了解4大热门机器学习算法
2019-04-29
10种算法一文打尽!基本图表算法的视觉化阐释
2019-04-29
未来属于人工智能工程师,但成功转型不容易
2019-04-29
科技界“挠头”:困扰科技界可持续发展的难题
2019-04-29
标准出现问题,人工智能正在走向错误的方向
2019-04-29
不论何时,互联网从业者一直幸福着~
2019-04-29
架构师知识体系全景图
2019-04-29
guava中EventBus(事件总线)源码分析与使用
2019-04-29
程序员成神之路文章目录
2019-04-29
SASS软件的成熟度模型总结
2019-04-29
一次搞定redis使用
2019-04-29