169. 多数元素 - 力扣(LeetCode)
【LeetCode 每日一题】169. 多数元素 | 手写图解版思路 + 代码讲解_哔哩哔哩_bilibili
c为计数器,代表当前候选人的票数
v为当前候选人
x为遍历的各候选人得票
分三种情况:
第一种,c==0,前面的候选人票数相互抵消,此时需要添加新的候选人
第二种,c!=0且x==v,当前候选人再得一票,c++
第三章,c!=0且x!=v,当前候选人没得票其它候选人得票,作为抵消,c--
func majorityElement(nums []int) int {v,c:=0,0for _,x:=range nums{if c==0{v=xc=1}else if x==v{c++}else{c--}}return v
}