Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊
n/2 ⌋ times.
You may assume that the array is non-empty and the majority element always exist in the array.
class Solution {
public:
int majorityElement(vector<int> &num) {
int max=num[0],count=1;
for(int i=1;i<num.size();i++){
if (count==0){
max=num[i];
count++;
}
else if (max==num[i]){
count++;
}
else
count--;
}
return max;
}
};利用Moore's voting algorithm选出次数超过半数以上的元素~~复杂度o(n)

本文介绍了一种使用Moore's投票算法高效查找数组中出现次数超过一半的多数元素的方法。该算法的时间复杂度为O(n),适用于非空数组且多数元素必定存在的场景。

被折叠的 条评论
为什么被折叠?



