leetcode169 多数元素

一、问题描述
二、解题思路

**解法一:**排序+返回中位数

由于这个多数元素出现的次数多于n/2,所以排序之后数组的中位数一定是这个元素,返回即可。

**解法二:**哈希表

使用哈希表来记录元素出现的次数,返回这个多数元素。

三、代码实现

解法一:

cpp 复制代码
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        //排序+返回中位数
        sort(nums.begin(),nums.end());
        int n=nums.size();
        return nums[n/2];
    }
};

解法二:

cpp 复制代码
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        //哈希表
        int n=nums.size();
        unordered_map<int,int> hash;
        for(auto x:nums){
            hash[x]++;
            if(hash[x]>n/2) return x;
        }
        return 0;
    }
};
相关推荐
点云兔子2 小时前
舱口检测:从点云到矩形定位的射线投影算法
opencv·算法·点云·舱口检测
wayz112 小时前
Momentum:RVGI(相对活力指数)技术指标详解
算法·金融·数据分析·量化交易·特征工程
代码中介商3 小时前
图论实战:最小生成树与拓扑排序精解
数据结构
zxw6103 小时前
UFOMap代码Debug
c++
fpcc3 小时前
工具使用—CMake文件中的常见变量
c++
酉鬼女又兒3 小时前
零基础入门虚拟局域网VLAN:从广播域问题根源到802.1q帧格式、三大端口类型及实战例题全解析
网络·网络协议·计算机网络·网络安全·职场和发展·智能路由器·求职招聘
Promise微笑3 小时前
洞察无形:红外热像仪行业标准解析与深度选型指南
网络·人工智能·算法
liu-yonggang3 小时前
MISRA C++:2008 — Guidelines for the use of the C++ language in critical systems
c++
SHARK_pssm3 小时前
【数据结构——双向链表】
数据结构·经验分享·笔记·链表