169. Majority Element求众数

时间:2021-12-08 11:58:45

网址:https://leetcode.com/problems/majority-element/

参考:https://blog.csdn.net/u014248127/article/details/79230221

  1. 可以直接通过map解决
  2. 利用神奇的 摩尔投票算法( Boyer-Moore Voting Algorithm)

不断的消去两个不同的数,最后剩下的数肯定是所求的众数!

细节:

  1. 若第一个数的出现次数不止 1,则“消去”意味着次数-1
  2. 如果两数相同,要将此数的次数累加
class Solution {
public:
int majorityElement(vector<int>& nums) {
int candicate;
int count = ;
for(int i : nums)
{
if(count == )
candicate = i;
if(candicate == i)
count++;
else
count--;
}
return candicate;
}
};

169. Majority Element求众数