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;
    }
};
相关推荐
徐小黑ACG7 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
码完就睡7 小时前
数据结构——红黑树
数据结构
码爸7 小时前
数据结构详细介绍
数据结构
Navigator_Z7 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛8 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记8 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
半杯咖啡半行码8 小时前
C++ 编程与 STL 模板:从泛型编程到内存安全详解
开发语言·c++
浮链序8 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室8 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
圣保罗的大教堂9 小时前
leetcode 301. 删除无效的括号 困难
leetcode