给一个数组,求它的majority,对majority的定义为:出现次数超过
排序,然后返回中间的那个元素即可。
我们用unordered_map
来存储每个元素出现的次数,最后返回出现次数超过
我们能否将空间继续优化到const呢?答案是肯定的。
假设我们令我们的majority元素的数目为y,其他元素的个数为x,因为
那么,我们可以用一个cnt来记录y出现的次数,但是此时我们并不知道y是多少?那么我们假设任意一个元素
最后得到的z就是我们的majority。
然后刚刚查了一下,发现这个算法叫做Moore投票算法。
新闻热点
疑难解答