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

算法训练营Day12| LeetCode 169. 多数元素

题目链接:http:// https://leetcode.cn/problems/majority-element/

视频链接:http:// https://leetcode.cn/problems/majority-element/solutions/146074/duo-shu-yuan-su-by-leetcode-solution/

我看到题目的第一想法:

  1. 刚看到题目,我第一反应是用一个计数器,遍历数组统计每个元素出现的次数,次数超过n/2的就是答案。
  2. 但马上想到,这种方法需要额外的空间来存次数,不确定有没有更省空间的方法。
  3. 因为题目说 “多数元素一定存在”,我觉得它的出现次数超过一半,会不会有什么更巧妙的办法,不用统计所有数?

遇到的困难:

  1. 一开始只想到用哈希表 / 字典统计次数,但不知道怎么实现O (1) 空间复杂度的解法。
  2. 对摩尔投票法(Boyer-Moore)的原理理解不深,一开始想不通为什么 “正负抵消” 后剩下的一定是多数元素。
  3. 写代码时,不知道怎么处理候选元素和计数的更新逻辑,容易把条件写错。

心得:

  1. 摩尔投票法的核心是 “正负抵消”:多数元素出现次数大于一半,所以即使和其他元素一一抵消,最后剩下的也一定是它。
  2. 这种方法只需要一次遍历,时间复杂度 O (n),空间复杂度 O (1),比统计次数的方法更高效。
  3. 算法题不只有 “暴力统计” 一种思路,学会利用题目给的特殊条件(比如 “多数元素一定存在”),能找到更巧妙的解法。
  4. 做题时要先思考优化空间,理解算法背后的原理比会写代码更重要。
http://www.cnnetsun.cn/news/2090587.html

相关文章:

  • 2026年口碑优异的金相显微镜工厂盘点 有采购需求的建议收好
  • 宇宙学研究新突破:用 Blender 几何节点处理 CMB 数据,实现多项实用功能!
  • AI Agent在体育与娱乐领域的应用:数据分析与体验优化
  • HNU计算机系统期中题库详解(五)位运算与逻辑运算
  • 嵌入式团队紧急升级预警:VSCode 2026.1起废弃legacy GDB adapter——3类老旧JTAG探针将彻底失联?
  • KrkrzExtract终极指南:3步掌握krkrz引擎资源处理工具
  • 多线程下载引擎架构解析:AB Download Manager的技术实现路径
  • 如何快速掌握键盘控制鼠标:5个技巧让Windows操作更高效
  • 别再手动调色了!用JavaScript实现主题色自动生成9档深浅色(附完整代码)
  • TrollInstallerX:3分钟解锁iOS设备完整安装自由的专业指南
  • NVIDIA cuML FIL:GPU加速树模型推理性能优化指南
  • 告别Postman安装烦恼!Windows便携版终极解决方案完整指南
  • 别再傻傻分不清了!CAPL脚本里on signal、on envVar、on sysVar事件到底怎么用?
  • Android手机变身移动Linux服务器:Termux部署Ubuntu与SSH远程访问实战
  • 倾斜摄影OSGB数据处理避坑指南:从Smart3D导出到Cesium加载的完整链路解析
  • 为“干私活”删除公司AI训练数据,一程序员获刑五年十个月;百度反腐通报去年144名员工被查;GPT-5.5发布 | 极客头条
  • 【Python实战】从ValueError: negative dimensions出发,解析NumPy数组形状的动态计算与防御性编程
  • 【卷卷漫谈】你的opus4.6降智了吗?!Claude Code 质量翻车复盘
  • OBS多平台直播同步插件终极指南:一键实现5大平台同时推流
  • 实战指南:5个高效查询Materials Project API的核心技巧
  • 基于Ralphy框架构建本地化AI智能体:从原理到自动化工作流实践
  • 保姆级教程:用STM32CubeMX和HAL库搞定CAN总线与上位机通信(附完整源码)
  • Voxtral-4B-TTS-2603效果展示:德语科技新闻语音输出——辅音清晰度与长句断句实测
  • iperf3实战:从基础参数到高级场景的网络性能调优指南
  • 网络安全SRC漏洞挖掘学习路线 - (三):信息收集实战,找准SRC挖洞突破口
  • UEViewer深度解析:虚幻引擎资源逆向工程的架构设计与实现原理
  • 3分钟掌握MOOC课程离线下载:MoocDownloader终极指南
  • nnFormer实战:如何用Decathlon的BrainTumour数据集快速跑通3D医学分割?
  • STM32F4实战:手把手教你用FATFS和SDIO驱动外挂SD卡(附完整工程)
  • 如何零成本创作专业级虚拟歌手音乐:开源方案的终极选择