给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入:[3,2,3]
输出:3
int cmpfunc(const void* a,const void* b){
return *(int *)a - *(int *)b;
}
int majorityElement(int* nums, int numsSize){
qsort(nums,numsSize,sizeof(int),cmpfunc);//排序
int count=1;
for (int i=1;i<numsSize;++i){
if(nums[i-1] == nums[i]) count++;//如果相邻相等就+1
else count=1;
if(count > numsSize/2) return nums[i];//判断次数
}
return nums[0];
}
本文介绍了一种寻找数组中多数元素的方法,多数元素是指在数组中出现次数超过一半的元素。通过排序数组并计数相邻相同元素的方式,可以有效地找出多数元素。
241

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



