您的位置:首页 > 其它

leetcode Majority Element 寻找出现次数最多元素

2015-08-04 19:30 507 查看
给定一个大小n的数组,求出现次数大于⌊ n/2 ⌋的元素:假定数组总是存在而且这样的元素总是存在:

int com(const void *s1,const void *s2){
int *p1=(int*)s1;
int *p2=(int *)s2;
return *p1-*p2;
}
int majorityElement(int* nums, int numsSize) {
qsort(nums,numsSize,sizeof(int),com);//按小到大对数组排序
int k=1;
for(int i=0;i<numsSize-1;i++)
{	if(nums[i]==nums[i+1]){k++;if(k>numsSize/2)return nums[i];else continue;}//如果连续相等
else k=1;}
return nums[0];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: