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

LeetCode每日一题,2025-9-4

多数元素

投票法

让你找到序列中出现超过二分之一的元素,一定要记住这个规则。
记录两个值valcnt,刚开始val为任意数,cnt=0
如果cnt0,就把当前val = num。接下来判断,ifnum == val,则cnt ++,elsecnt--。最后的val就是出现次数超过二分之一的数。

原理

你可以以‘对冲’思路去想,让你找到出现超过二分之一的数,把这个target当做一只军队,然后剩下的普通num去当做另一只军队,目标数target去跟普通的num去‘对冲’,一换一,最后留下来的肯定是答案。
我上面举得例子是我们上来分出来了哪些是target哪些是普通num,但是代码里怎么分辨呢?其实不用分辨,如果我们看错了target,那么自然会被消耗掉,被消耗掉了会有其他的target顶上,只有真正的target顶上才能完成

class Solution {public int majorityElement(int[] nums) {int n = nums.length;int res = 0;int vote = 0;for(int num:nums){if(vote==0) res = num;if(num == res) vote++;else vote--;}return res;}
}
http://www.xdnf.cn/news/1451035.html

相关文章:

  • 动手学深度学习——线性回归 + 基础优化算法
  • 服务器异常负载排查手册 · 隐蔽进程篇
  • Android AI客户端开发(语音与大模型部署)面试题大全
  • Tomcat 服务器全方位指南:安装、配置、部署与实战优化
  • Sentinel 与 Feign 整合详解:实现服务调用的流量防护
  • Clang 编译器:下载安装指南与实用快捷键全解析
  • C++类和对象(上):从设计图到摩天大楼的构建艺术
  • 蔚来汽车前制动器设计及热性能分析cad+三维图+设计说明书
  • MySQL SM4 UDF 安装与使用
  • 【计算机网络(自顶向下方法 第7版)】第一章 计算机网络概述
  • 《D (R,O) Grasp:跨机械手灵巧抓取的机器人 - 物体交互统一表示》论文解读
  • 实战演练(二):结合路由与状态管理,构建一个小型博客前台
  • Java基础知识点汇总(五)
  • 修订版!Uniapp从Vue3编译到安卓环境踩坑记录
  • 新手向:AI IDE+AI 辅助编程
  • 开源视频剪辑工具推荐
  • 经典资金安全案例分享:支付系统开发的血泪教训
  • Hadoop(七)
  • 数说故事 | 2025年运动相机数据报告,深挖主流品牌运营策略及行业趋势​
  • HarmonyOS路由导航方案演进:HMRouter基于Navigation封装,使用更方便
  • 【软考架构】嵌入式系统及软件
  • Shadcn UI – 开发者首选的高性能、高定制化 React 组件库
  • Flutter之riverpod状态管理详解
  • 第1章 Jenkins概述与架构
  • ⸢ 肆 ⸥ ⤳ 默认安全:安全建设方案 ➭ b.安全资产建设
  • HTTP性能优化
  • Rust 文件操作终极实战指南:从基础读写到进阶锁控,一文搞定所有 IO 场景
  • 设计模式3 创建模式之Singleton模式
  • 大数据工程师认证推荐项目:基于Spark+Django的学生创业分析可视化系统技术价值解析
  • 基于 EasyExcel + 线程池 解决 POI 导出时的内存溢出与超时问题