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

LeetCode HOT100 - 多数元素

关键是进阶的 O(1) 空间复杂度的摩尔投票法(https://leetcode.cn/problems/majority-element/solutions/2362000/169-duo-shu-yuan-su-mo-er-tou-piao-qing-ledrh)

一个关键的出发点是类似于二分查找中位数时,将 大于等于 中位数的设置为 1,否则设置为 -1,这样因为中位数的定义,最后数组的和应该是大于 0 的

这里类似于使用这种元素个数的性质

记众数 x 的值为 1 ,其他元素统一设置成 -1,那么最后的和也是大于 0

接下来是看这个设置是否有进一步的结论

因为如果仅是这样设置我们或许仍要使用二分,这样时间复杂度并非 O(n)

结论
记数组的众数为 x ,我们假设的众数是 y 遍历并统计票数。当发生票数和 =0 时,剩余数组的众数一定不变,这是由于:

  • \(y = x\) : 抵消的所有数字中,有一半是众数 x 。
  • \(y \neq x\) :抵消的所有数字中,众数 x 的数量最少为 0 个,最多为一半。

利用此特性,每轮假设发生票数和 ``=0` 都可以缩小剩余数组区间 。当遍历完成时,最后一轮假设的数字即为众数。

class Solution {
public:int majorityElement(vector<int>& nums) {int ans = 0, cnt = 0;for (int i : nums) {if (!cnt) ans = i;cnt += i == ans ? 1 : -1;}return ans;}
};
http://www.jsqmd.com/news/501771/

相关文章:

  • 【RH134总结】 四
  • 使用uv下载并上传到私有仓库(支持python版本修改)
  • 2026年黑龙江口碑好的钢制护士站制造商推荐,专业定制化服务全解析 - mypinpai
  • 大理婚纱照首选推荐|芙拉薇尔:在风花雪月里,定格专属山海浪漫 - 江湖评测
  • 2026软文推广平台实测榜:传声港新媒体平台如何重构营销生态 - 博客湾
  • OpenFoam常用命令
  • 【愚公系列】《剪映+DeepSeek+即梦:短视频制作》010-剪辑:把碎片素材串联成片(速度与节奏)
  • 327万人才缺口!网络安全专业薪资曝光:这些高校毕业即拿高薪(女生也适合)
  • 分析2026年江苏实力强的屋顶防水品牌企业,怎么选择 - 工业推荐榜
  • RebCoord版本管理
  • 2026年玉米加工设备推荐:河南成立粮油机械有限公司,玉米生产线/制粉/提胚设备全系供应 - 品牌推荐官
  • 2026年江苏口碑好的屋顶防水公司推荐,专业防水服务企业全解析 - myqiye
  • 2026年3月陕西/宝鸡/西北防腐木厂家综合测评 - 2026年企业推荐榜
  • 爆火!OptiSystem 二次开发全攻略:Matlab/Python 联动仿真,解锁光通信仿真天花板
  • 程序员怎么学?看完这一篇就够了【非常详细】_程序员怎么入门
  • 远传水表厂家推荐 —— 青岛积成电子股份有限公司 - 深度智识库
  • 上下文工程的六大组件:构建高性能AI应用的核心指南
  • ## 15|Python 消息队列消费模型:幂等、重试与死信治理实战
  • 2026年中国仿石漆厂家权威报告:十大品牌深度分析差异化突围! - 深度智识库
  • 营收涨了30%,团队却更累了?别让“轻量级工具”拖垮你的集团军!
  • 说说全国精制钢专业供应商,天津澳一精工靠谱吗 - 工业品牌热点
  • 嘉辉医疗口碑怎样,了解其公司介绍与行业口碑排名 - mypinpai
  • Python爬虫实战:手把手教你如何构建 Ubuntu 安全漏洞情报中心!
  • 2026年西安AI搜索营销公司深度测评:从技术到效果的实用选型指南 - 小白条111
  • ## 16|Python 数据管道工程化:Airflow 编排与数据质量守护
  • leetcode 1422. Maximum Score After Splitting a String 分割字符串的最大得分-耗时100
  • 三亚旅拍婚纱照首选|芙拉薇尔:让你的海岛婚照,只有浪漫没有糟心 - 江湖评测
  • 青岛龙文市场口碑怎么样,教学资源丰富吗,提分效果好吗? - 工业推荐榜
  • 进程间通信 之 信号量
  • 刷题笔记:力扣第53题-最大子数组和