力扣 169. 多数元素

思路:

因为题目说一定存在多数元素,就说明一定有一个数的个数多于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];     //返回中位数
}
相关推荐
xinghuitunan5 分钟前
蓝桥杯顺子日期(填空题)
c语言·蓝桥杯
van叶~7 分钟前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
Half-up7 分钟前
C语言心型代码解析
c语言·开发语言
简简单单做算法8 分钟前
基于Retinex算法的图像去雾matlab仿真
算法·matlab·图像去雾·retinex
云卓SKYDROID22 分钟前
除草机器人算法以及技术详解!
算法·机器人·科普·高科技·云卓科技·算法技术
懒大王就是我43 分钟前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
半盏茶香1 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
徐子童1 小时前
双指针算法习题解答
算法
小堇不是码农1 小时前
在VScode中配置C_C++环境
c语言·c++·vscode
想要打 Acm 的小周同学呀1 小时前
LRU缓存算法
java·算法·缓存