news 2026/4/23 10:53:46

LeetCode热题100--169. 多数元素--简单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--169. 多数元素--简单

题目

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:
输入:nums = [3,2,3]
输出:3

示例 2:
输入:nums = [2,2,1,1,1,2,2]
输出:2

题解

classSolution{publicintmajorityElement(int[]nums){intx=0,votes=0;for(intnum:nums){if(votes==0)x=num;votes+=num==x?1:-1;}returnx;}}

解析

出自:169. 多数元素(摩尔投票,清晰图解)

classSolution{publicintmajorityElement(int[]nums){// 初始化候选众数 x(当前假设的多数元素)// votes 表示当前候选者的“净票数”(支持票 - 反对票)intx=0,votes=0;// 遍历数组中的每一个数字 numfor(intnum:nums){// 如果当前票数为 0,说明之前的候选者已被完全抵消,// 此时选择当前 num 作为新的候选众数if(votes==0)x=num;// 更新票数:// - 如果当前数字 num 等于当前候选者 x,则票数 +1(获得一票)// - 否则,票数 -1(被一个不同元素抵消一票)// 利用三元运算符:num == x ? 1 : -1votes+=num==x?1:-1;}// 由于题目保证存在“多数元素”(出现次数 > n/2),// 最终剩下的候选者 x 必然是真正的众数,直接返回即可returnx;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 5:34:43

效率直接起飞!备受喜爱的降AI率软件 —— 千笔AI

在AI技术快速发展的今天,越来越多的学生开始借助AI工具辅助论文写作,以提高效率和质量。然而,随之而来的AI率超标问题却让不少学生陷入困境。随着知网、维普、万方等查重系统不断升级算法,对AI生成内容的识别愈发严格,…

作者头像 李华
网站建设 2026/4/23 10:50:44

java+vue基于springboot的和Vue的毕业设计选题管理系统的设计与实现_cu9atc26

目录 基于SpringBoot和Vue的毕业设计选题管理系统设计与实现系统功能模块技术栈亮点系统优势 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于SpringBoot和Vue的毕业设计选题管理系统设计与实现 该系统采用前后端分离架构…

作者头像 李华
网站建设 2026/3/24 4:39:04

PMP项目管理认证考试内容大纲,2026新增了哪些考点?

一、2026年7月前考试大纲2026年7月前PMP考试依然是运用PMBOK第七版内容作为考试大纲,内容占比:人员:42%,聚焦团队领导、冲突管理、相关方协作等软技能,偏敏捷实践管理。过程:50%,涵盖项目管理技…

作者头像 李华