力扣第97题:多数元素

张开发
2026/4/7 16:14:26 15 分钟阅读

分享文章

力扣第97题:多数元素
第一部分:问题描述给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:nums = [3,2,3]输出:3示例2:输入:nums = [2,2,1,1,1,2,2]输出:2第二部分:代码实现(1)核心思想解决方法:Boyer-Moore 投票算法「不同元素互相抵消,最后剩下的就是赢家」:有一个元素出现次数 n/2(绝对多数),所以不管怎么抵消,最后剩下的一定是这个多数元素。规则设定:我们维护两个变量:candidate:当前的「候选人」count:当前候选人的「剩余票数」

更多文章