首页 > 其他分享 >2024.9.4 leetcode 169 多数元素 (哈希表)

2024.9.4 leetcode 169 多数元素 (哈希表)

时间:2024-09-05 23:37:22浏览次数:4  
标签:return nums 2024.9 umap 169 哈希 size

题面 169. 多数元素 - 力扣(LeetCode)

题解:复习(自学)了一下哈希表,

unordered_map<int,int> umap    定义一个表
umap.find(nums[i])!=umap.end() 判断是否存在

umap.insert({nums[i], 1}) 插入
umap.erase(nums[i]) 清除
C++ 容器类 <unordered_map> | 菜鸟教程 (runoob.com)
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        unordered_map<int,int> umap;
        if( nums.size() == 1)
        {
            return nums[0];
        }
        for(int i = 0; i < nums.size(); i++ )
        {
            if(umap.find(nums[i])!=umap.end())
            {
                umap[nums[i]]++;
                if(umap[nums[i]]>nums.size()/2)
                return nums[i];
            }
            else
            {
                umap.insert({nums[i], 1});
            }
            
        }
        return 1;
    }
};

 

标签:return,nums,2024.9,umap,169,哈希,size
From: https://www.cnblogs.com/jkxjkx2000/p/18399394

相关文章

  • 2024.9.5 leetcode 3174 清除数字(字符串)
    题面3174.清除数字-力扣(LeetCode)题解:今天的每日一题比较简单,思路是遍历字符串,遇到第一个数字x的时候,把数字x和前面的字母y删除,也就是删除yx。1、为什么前面一定是字母,因为遇到的是第一个数字,前面不可能再有数字。2、如何实现删除yx,重新定义一个字符串,每一次遍历将y前面的字......
  • 学习日记- 2024.9.3
    1.上课情况Analog没怎么听,今天半天没找到AE的教学楼,到教室的时候已经没有座位了。电磁学上得太快了,自己回来学吧。2.复习2.1.Wireless-lec1第一课的学习目标:• Understandthebasicsofa:wirelesslinkandwirelesscell,thespectrumusageandwirelesssignals......
  • 2024.9.4C++作业
    #include<iostream>#include<string>usingnamespacestd;classHuman{public:Human(){name="Unknown";age=0;}Human(stringn,inta){name=n;age=a;}~Hu......
  • 2024.9.3C++
    自行实现Mystring类#include<iostream>#include<cstring>usingnamespacestd;classmystring{public:mystring(){len=0;str=nullptr;}mystring(constchar*s){len=strlen(s);str=ne......
  • 2024.9.2C++作业
    自行实现一个Mystring类#include<iostream>#include<cstring>usingnamespacestd;classmystring{public:mystring(){len=0;str=nullptr;}mystring(constchar*s){len=strlen(s);str=n......
  • 【C++从练气到飞升】19---哈希:哈希冲突 | 哈希函数 | 闭散列 | 开散列
     ......
  • CF 2010 C2. Message Transmission Error (hard version) (*1700) 字符串+哈希
    CF2010C2.MessageTransmissionError(hardversion)(*1700)字符串+哈希题目链接题意:给你一个字符串,让你判断是否是由某个字符串首尾拼接重叠而成的。思路:做法很多,最暴力就直接枚举字符串长度,然后哈希即可。代码:#include<bits/stdc++.h>usingnamespacestd;#def......
  • 2024.9.4 leetcode169 多数元素 (C++)
    题面https://leetcode.cn/problems/majority-element/description/ 解答一开始想得比较暴力,直接把对应数字当数组下标,遇到对应数字,数组++,但不知道怎么处理-10^9~10^9的数据大小,后来想了一个办法,那就是先排序,再求连续的个数,个数大于n/2的时候,return结果。太久没接触C++语法、......
  • 一致性哈希(Consistent Hashing)
    基本概念        一致性哈希(ConsistentHashing)是一种特殊的哈希算法,主要用于解决分布式系统中数据分布的问题,尤其是在需要动态添加或移除服务器(节点)的情况下。传统哈希算法在节点变化时可能会导致大部分甚至全部的数据重新分布,这样会导致大量的数据迁移,增加了系统的......
  • 2024.9 做题记录
    9.1arc108e当已经选了\(a_l,a_r\)时,\((l,r)\)与外面无关。区间dp,\(dp_{l,r}=\frac{\sum_{k=l,a_l<a_k<a_r}^rdp_{l,k}+dp_{k,r}}{num_{l,r}}+1\)。维护\(num_{l,r},\sumdp_{l,k},\sumdp_{k,r}\)转移。9.2P5188模拟赛T2。容斥强行不选\(s\)这些材料,矩阵快速幂。......