力扣 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];     //返回中位数
}
相关推荐
IT方大同12 分钟前
C语言的组成部分
c语言·开发语言
高洁0126 分钟前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动 (2)
深度学习·算法·aigc·transformer·知识图谱
l1t37 分钟前
使用DuckDB SQL求解Advent of Code 2024第9题 磁盘碎片整理
数据库·sql·算法·duckdb·advent of code
用户0435437719542 分钟前
C语言:数组入门及其基础算法详解
c语言
say_fall1 小时前
WinAPI 极简教程:超简单的 Windows 接口入门
c语言·windows
小南家的青蛙1 小时前
LeetCode面试题 04.06 后继者
算法·leetcode·职场和发展
IT·小灰灰1 小时前
基于Python的机器学习/数据分析环境搭建完全指南
开发语言·人工智能·python·算法·机器学习·数据分析
wefg12 小时前
【C++】智能指针
开发语言·c++·算法
搂鱼1145142 小时前
一类判断包含颜色整体的题目
算法
Demon--hx2 小时前
[c++]string的三种遍历方式
开发语言·c++·算法