LeetCode 题解:剑指 Offer 39. 数组中出现次数超过一半的数字,摩尔投票,JavaScript,详细注释
原题链接:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/
解题思路:
假设输入:
[1, 2, 3, 2, 2, 2, 5, 4, 2]
,多数元素为2
。使用
count
统计出现最多元素的次数,result
缓存多数元素。遍历数组,如果出现
result
与nums[i]
不同,则将count
计数相抵消。最终剩下的
result
只会是最多数量的元素2
。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/fbbcab40861219d85cb228cb1】。文章转载请联系作者。
评论