思路:
因为题目说一定存在多数元素,就说明一定有一个数的个数多于n/2
将数组采用冒泡从小到大排序,最中间的那个元素一定是多数元素(因为在大小排好序后,中位数也一定是众数)
答案:
int majorityElement(int* nums, int numsSize)
{int i=0,j=0;for(i=0;i<numsSize-1;i++) //冒泡排序{int flag=1;for(j=1;j<numsSize-i;j++){if(nums[j-1]>nums[j]){int tmp=nums[j];nums[j]=nums[j-1];nums[j-1]=tmp;flag=0;}} if(flag){break;}}return nums[numsSize/2]; //返回中位数
}