力扣 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];     //返回中位数
}
相关推荐
椰羊~王小美2 小时前
LeetCode -- Flora -- edit 2025-04-27
算法·leetcode·职场和发展
犯困的土子哥2 小时前
VS Code搭建C/C++开发环境
c语言
charade3122 小时前
【C语言】内存分配的理解
c语言·开发语言·c++
缘友一世3 小时前
从线性回归到逻辑回归
算法·逻辑回归·线性回归
流影ng3 小时前
C语言HashTable基本理解
c语言·哈希算法
2401_867021903 小时前
文件缓冲区(IO与文件 ·III)(linux/C)
linux·运维·服务器·c语言
前端_学习之路3 小时前
javaScript--数据结构和算法
javascript·数据结构·算法
weixin_428498494 小时前
使用HYPRE库并行装配IJ稀疏矩阵指南: 矩阵预分配和重复利用
算法·矩阵
雾削木6 小时前
mAh 与 Wh:电量单位的深度解析
开发语言·c++·单片机·嵌入式硬件·算法·电脑
__lost6 小时前
小球在摆线上下落的物理过程MATLAB代码
开发语言·算法·matlab