From : https://leetcode.com/problems/majority-element/
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>& nums) {
int flag = 1, cur = nums[0];
for(int i=1; i<nums.size(); i++) {
if(flag == 0) cur = nums[i];
if(cur == nums[i]) flag++;
else flag--;
}
return cur;
}
};
本文介绍了一个高效的算法来解决LeetCode上的多数元素问题。该问题要求找出数组中出现次数超过一半的元素。通过一个简单的C++实现,我们展示了如何仅遍历一次数组就能找到多数元素,该方法基于Boyer-Moore投票算法。
1340

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



