三种思路:
 
  • 最基本的:
    • 排序,然后遍历
  • 打擂法:该方法适用于某个数出现的次数超过半数的情况
    • 从第一个数开始,上擂台
    • 后一个数如果与擂台上的一致,则守擂计数+1
    • 后一个数如果与擂台上的不一致,则守擂计数-1
    • 一旦守擂计数减为0,就将台上的数挤掉,然后刚刚打擂的数上台
  • 类似上一种:
    • 任意两个不同的数相互抵消,最后剩下的唯一个或多个相同的数就是最多的数
 
一旦找出最多的数,就可以重新遍历得到该数的出现次数了

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2020-07-16
  • 2021-12-03
  • 2021-10-13
猜你喜欢
  • 2022-02-25
  • 2021-06-18
  • 2021-09-08
  • 2021-09-01
  • 2021-08-30
  • 2022-12-23
相关资源
相似解决方案