169.majority-element

Spread the love

原始思路:字典

参考答案思路:投票算法

背后原理简单的理解是 如果你要当选,支持你的人至少要超过半数

和题目的定义:The majority element is the element that appears more than ⌊ n/2 ⌋ times 一致

我的后续思路:做一个栈,如果读到的数字和栈顶的数字不一样,意思是这个人是个反对党的,然后栈顶数字出列,代表他们两个抵消了;如果读到的数字和栈顶数字一样,入栈,代表相同势力

最后还在栈里的人就是答案

参考答案的解决方案没用栈,直接比较
用了两个参数,一个是势力数,另一个是候选人
如果读到的数字和候选人一个势力,势力数+1
否则势力数减1
如果势力数为0,代表没有候选人都gg了,最新读到的数就变成候选人
This entry was posted in leetcode. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *