力扣的求众数
可以先看看解题榜第一名做出的摩尔投票法的动图,先存在脑海里
2.看下这里理解:
3.还看不懂?没关系,我来结合这两者进行补充:
比如这个测试用例:
将1,2,3,5,4想象成5个国家的士兵
约定:
1.每个国家的士兵不能内战
2.每个国家的士兵都可以攻击不同国家的士兵
3.每次攻击都是双方同归于尽的
4.最终在战场上活下来的士兵归属的国家算胜利
**
那么假如有一个国家的士兵超过了参战人数的一半,请问哪个国家胜利?
**
那么显而易见,假如所有不同国家的士兵都去攻击这个大国的士兵(测试用例中是2号国),那么也是这个大国胜利.
现在再去回想一下那个动图:
相当于将是每次选中一个士兵去攻击另一个国家的士兵,遇到了不同的就杀死(同归),遇到了本国的就组队.直到这个小队伍全部战死,就再换个士兵操控.最终能够活下来的肯定是大国的小组.
因为最坏的情况中(所有士兵攻击大国士兵),大国都能胜出,现在混战,大国士兵肯定胜出