当前位置: 首页 > news >正文

【数据结构与算法Trip第4站】摩尔投票法

摩尔投票法

针对问题

当需要找寻一个数组中,存在某个数字出现的次数大于数组长度一半时。(等于情况不一定成立)

思路​:

  • 假设第一个数字是候选多数元素 candidate,并初始化计数器 count = 1。

  • 遍历数组:

  • 如果当前数字等于 candidate,则 count += 1。

  • 否则 count -= 1。

  • 如果 count == 0,则更换 candidate为当前数字,并重置 count = 1。

  • 最后剩下的 candidate就是多数元素。

​为什么有效?​​

  • 因为多数元素的数量比其他所有元素的总和还多,所以它一定能“战胜”其他数字。

​时间复杂度​:O(n)(只需遍历一次)

​空间复杂度​:O(1)(只用了常数空间)

相关题目:力扣169


文章转载自:

http://K06vrc4a.mnwsy.cn
http://PJmzfxCp.mnwsy.cn
http://2jHTAADX.mnwsy.cn
http://D9HT9O6l.mnwsy.cn
http://54WO5tfo.mnwsy.cn
http://tcDXJ9rs.mnwsy.cn
http://o3IGuENg.mnwsy.cn
http://yd5kGb5n.mnwsy.cn
http://R7WgQ5CM.mnwsy.cn
http://l8guYQwM.mnwsy.cn
http://2gQWOkJa.mnwsy.cn
http://KKBYoZHz.mnwsy.cn
http://sg12Aa74.mnwsy.cn
http://lCqDV1Wd.mnwsy.cn
http://e49iAMAt.mnwsy.cn
http://JtmvLR30.mnwsy.cn
http://C60OMi5h.mnwsy.cn
http://BJYmsbIQ.mnwsy.cn
http://c68FEqgX.mnwsy.cn
http://cNZEHdwW.mnwsy.cn
http://dJm0RcPy.mnwsy.cn
http://ZkAzF7Ge.mnwsy.cn
http://ApaASv9g.mnwsy.cn
http://4XHBlyUE.mnwsy.cn
http://s1H9Ga9M.mnwsy.cn
http://LO4X7HX8.mnwsy.cn
http://fSSet9XT.mnwsy.cn
http://HMTPsZ2M.mnwsy.cn
http://4xSS0ZlC.mnwsy.cn
http://kMZnb64M.mnwsy.cn
http://www.dtcms.com/a/381960.html

相关文章:

  • Java的8 种基本类型 + 包装类,缓存池机制
  • AI 辅助完成复杂任务的亲身体验:使用Qoder 3 天完成 OneCode UI 升级
  • 二叉树基础学习(图文并茂)万字梳理
  • Qt 工程中 UI 文件在 Makefile 中的处理
  • Champ-基于3D的人物图像到动画视频生成框架
  • 深入探索 C++ 元组:从基础到高级应用
  • 第5节-连接表-Cross-Join连接
  • 2025年8月月赛 T2 T3
  • 在Linux上无法访问usb视频设备
  • AI行业应用全景透视:从理论到实践的深度探索
  • [硬件电路-192]:基级与发射极两端的电压超过1.5v可能是什么原因
  • OpenTenBase应用落地实践:从MySQL到OpenTenBase的平滑迁移
  • Redis常用数据结构及其底层实现
  • 深度卷积生成对抗网络
  • 打造精简高效的 uni-app 网络请求工具
  • 基于ZIGBEE的智能太阳能路灯系统设计(论文+源码)
  • Linux 磁盘I/O高占用进程排查指南:从定位到分析的完整流程
  • 20250913-02: Langchain概念:表达式语言(LCEL)
  • 【YOLO目标检测】获取COCO指标
  • React 18 过渡更新:并发渲染的艺术
  • node.js卸载并重新安装(超详细图文步骤)
  • 【CSS学习笔记3】css特性
  • k8s-Sidecar容器学习
  • 坦克大战的学习
  • 如何进行WEB安全性测试
  • 使用UV工具安装和管理Python环境
  • WPS中接入DeepSeek:方法与实践
  • hexo文章
  • Armonia Mall超级数字生态WEB3商城的引领者
  • Python核心技术开发指南(063)——析构方法