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

lc hot 100之:多数元素

这个题目一眼哈希表哈哈哈哈哈但是总觉得应该有更巧妙的思想,看了答案发现给了5种解答hhh记录一下最巧妙的一种——摩尔投票【正负相抵】

假设:本题中要找的这个数叫“众数”

有结论:记众数为票数+1,非众数为票数-1.那么总票数一定是>0的,因为众数的个数大于n/2,抵消后一定多。

如何求解呢?

遍历数组,当票数和为0时消去遍历的数,不断消去,直到最后的票数和不为0时,就找到众数了。

(可能有点抽象大家可以画一下不行可以看看题解的动画qvq

代码:

class Solution {
public:int majorityElement(vector<int>& nums) {int votes=0;int res=nums[0];for(int i=0;i<nums.size();i++){if(nums[i]==res)votes++;elsevotes--;//投票抵消阶段if(votes==0)res=nums[i+1];//投票为0,更新众数}return res;return 0;}
};

这位佬的动画做的特别好!一看就懂了哈哈哈谢谢谢谢

http://www.xdnf.cn/news/8839.html

相关文章:

  • PPT连同备注页(演讲者模式)一块转为PDF
  • 计算机视觉(图像算法工程师)学习路线
  • 有趣有用的小发现
  • C#创建桌面快捷方式:使用 WSH 实现快捷方式生成
  • 接口性能测试-基于博客系统
  • 使用 Hyperlane 实现 WebSocket广播
  • RabbitMQ 可靠性保障:消息确认与持久化机制(二)
  • FFMPEG-AAC编码
  • 《分布式年夜》解析
  • 【Linux学习笔记】深入理解ELF和动静态库加载原理
  • c++学习之---stack,queue
  • Java 流程控制 switch:从实际场景出发掌握选择艺术
  • 详解Mysql redo log与binlog的两阶段提交(2PC)
  • 上海医日健集团社区 + 写字楼全域覆盖便民服务网
  • 如何在Windows右键菜单中添加“在此处以管理员身份打开Powershell窗口”的选项(含图标设置)
  • 论文阅读:arxiv 2024 SmoothLLM: Defending LLMs Against Jailbreaking Attacks
  • NNG和DDS
  • Ubuntu 22.04 高效Python依赖管理指南
  • 小程序使用web-view 修改顶部标题 安全认证文件部署在nginx
  • 疫情社区管理登记系统
  • 基于点标注的弱监督目标检测方法研究
  • springboot中拦截器配置使用
  • NeuralRecon技术详解:从单目视频中实现三维重建
  • 「OC」源码学习——KVO底层原理探究
  • 批量获取电商商品数据的解决方案|API接口自动化商品采集|item_get 接口详解
  • Vue.js教学第十五章:深入解析Webpack与Vue项目实战
  • 消息队列的使用
  • ClickHouse讲解
  • Qwen2.5 VL 自定义模型的回复数量
  • 基于文本挖掘与情感分析的B站《唐探1900》弹幕研究