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

来源:互联网 发布:全景生成精灵源码 编辑:程序博客网 时间:2024/06/05 15:52

给定一个大小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];}


0 0