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;
    }
};
相关推荐
Ivanqhz9 小时前
MoE + LLM 应用
数据库·人工智能·pytorch·python·深度学习·算法·1024程序员节
Lhan.zzZ9 小时前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp
lpfasd1239 小时前
推荐算法进化史
算法·机器学习·推荐算法
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(上):初始化和全量响应
开发语言·网络·c++·语言模型
Pniubi10 小时前
力扣543二叉树的直径(深度优先搜索法(递归))
算法·leetcode·职场和发展
fpcc10 小时前
跟我学c++中级篇—streambuf在glog中的应用分析
开发语言·c++
码匠许师傅10 小时前
【C++三方组件】OpenCV:计算机视觉的事实标准
c++
黎相思10 小时前
BTree
数据结构·b树·b+树
.道阻且长.10 小时前
Linux基本开发工具:编译器gcc/g++
linux·运维·服务器·职场和发展
C^h19 小时前
c++ string
开发语言·c++