力扣 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];     //返回中位数
}
相关推荐
YuTaoShao1 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表
JeffersonZU1 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
小小小新人121232 小时前
C语言 ATM (4)
c语言·开发语言·算法
你的冰西瓜3 小时前
C++排序算法全解析(加强版)
c++·算法·排序算法
এ᭄画画的北北3 小时前
力扣-31.下一个排列
算法·leetcode
绝无仅有4 小时前
企微审批对接错误与解决方案
后端·算法·架构
无限远的弧光灯4 小时前
c语言学习_函数递归
c语言·开发语言·学习
用户5040827858394 小时前
1. RAG 权威指南:从本地实现到生产级优化的全面实践
算法
小林C语言5 小时前
C语言 | 指针小结
c语言