leetcode169. 多数元素

题目

给定一个大小为 n的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例

示例 1:

复制代码
输入:nums = [3,2,3]
输出:3

示例 2:

复制代码
输入:nums = [2,2,1,1,1,2,2]
输出:2s

思路

建立哈希表,要用到map的知识

C++基础------STL------map_52Tiramisu的博客-CSDN博客

代码

cpp 复制代码
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        // 建立哈希表
        map<int, int> mp;
        for(int i = 0; i < nums.size(); i++){
            mp[nums[i]]++;
        }
        int len = nums.size();
        len /= 2;
        
        int r;

        // 找次数大于n/2的元素
        for(map<int, int>::iterator it = mp.begin(); it != mp.end(); it++){
            if(it->second > len){
                r = it->first;
            }
        }
        return r;
    }
};

运行结果

本题还有许多其他解法,待考究。(这个内存占用也太多了!!)

相关推荐
踢足球09292 分钟前
寒假打卡:2026-2-8
数据结构·算法
IT猿手12 分钟前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
千逐-沐风13 分钟前
SMU-ACM2026冬训周报3rd
算法
铉铉这波能秀34 分钟前
LeetCode Hot100数据结构背景知识之元组(Tuple)Python2026新版
数据结构·python·算法·leetcode·元组·tuple
晚霞的不甘40 分钟前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
㓗冽1 小时前
60题之内难题分析
开发语言·c++·算法
大江东去浪淘尽千古风流人物1 小时前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
铉铉这波能秀1 小时前
LeetCode Hot100数据结构背景知识之字典(Dictionary)Python2026新版
数据结构·python·算法·leetcode·字典·dictionary
蜡笔小马2 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
唐梓航-求职中2 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#