力扣 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];     //返回中位数
}
相关推荐
XH华19 分钟前
C语言第九章字符函数和字符串函数
c语言·开发语言
CoovallyAIHub20 分钟前
线性复杂度破局!Swin Transformer 移位窗口颠覆高分辨率视觉建模
深度学习·算法·计算机视觉
点云SLAM1 小时前
Eigen中Dense 模块简要介绍和实战应用示例(最小二乘拟合直线、协方差矩阵计算和稀疏求解等)
线性代数·算法·机器学习·矩阵·机器人/slam·密集矩阵与向量·eigen库
renhongxia11 小时前
大模型微调RAG、LORA、强化学习
人工智能·深度学习·算法·语言模型
DdduZe2 小时前
8.19作业
数据结构·算法
PyHaVolask2 小时前
链表基本运算详解:查找、插入、删除及特殊链表
数据结构·算法·链表
高山上有一只小老虎2 小时前
走方格的方案数
java·算法
吧唧霸2 小时前
golang读写锁和互斥锁的区别
开发语言·算法·golang