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) {
////size=1
if(nums.size()==1)
return nums[0];
////size>1
sort(nums.begin(),nums.end());
int number = 1;
for(int i=1; i<nums.size(); i++)
{
if(nums[i]==nums[i-1])
{
number++;
if(number>=(nums.size()+1)/2)
return nums[i];
}
else
number = 1;
}
return 0;
}
};
本文介绍了一个寻找多数元素的算法实现,多数元素是指在一个大小为 n 的数组中出现次数超过 n/2 的元素。该算法首先判断数组长度是否为1,若是则直接返回该元素;若数组长度大于1,则对数组进行排序并遍历计数,当找到出现次数超过 n/2 的元素时返回。

836

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



