力扣第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:当前候选人的「剩余票数」
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2493080.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!