找众数

题目: 169. 多数元素

说是简单题, 但是思路比较有趣. 注意众数的数量总是超过一半.

var current, count int
for _, v := range nums {
  if count == 0 {
    current = v
  }
  if current == v {
    count++
  } else {
    count--
  }
}
return current

假设当前数是众数, 相同则投票+1, 不同则投票-1. 如果猜对了, 票数始终为正. 如果猜错了, 众数总能把投票数归零, 最后留下的数就是结果.

posted @ 2025-02-05 10:06  aparaburu  阅读(6)  评论(0)    收藏  举报