首页 > 其他分享 >leetcode706-设计哈希映射

leetcode706-设计哈希映射

时间:2022-09-02 00:44:07浏览次数:90  
标签:arr hash leetcode706 映射 int 哈希 value key Pair

设计哈希映射

  • 哈希+链表
class MyHashMap {
    class Pair{
        int key;
        int value;
        public Pair(int key, int value){
            this.key = key;
            this.value = value;
        }
    }
    LinkedList arr[] = new LinkedList[1024];
    final static int total = 769;
    public MyHashMap() {
        for(int i = 0; i < 769; i++){
            arr[i] = new LinkedList<Pair>();
        }
    }
    
    public void put(int key, int value) {
        int hash = key % total;
        Iterator<Pair> it = arr[hash].iterator();
        while(it.hasNext()){
            Pair p = it.next();
            if(p.key == key){
                p.value = value;
                return;
            }
        }
        arr[hash].add(new Pair(key, value));
    }
    
    public int get(int key) {
        int hash = key % total;
        Iterator<Pair> it = arr[hash].iterator();
        while(it.hasNext()){
            Pair p = it.next();
            if(p.key == key){
                return p.value;
            }
        }
        return -1;
    }
    
    public void remove(int key) {
        int hash = key % total;
        Iterator<Pair> it = arr[hash].iterator();
        while(it.hasNext()){
            Pair p = it.next();
            if(p.key == key){
                it.remove();
                return;
            }
        }
    }
}

标签:arr,hash,leetcode706,映射,int,哈希,value,key,Pair
From: https://www.cnblogs.com/xzh-yyds/p/16648338.html

相关文章

  • Docker 映射端口telnet不通
    使用Docker启动端口无法telnethttps://blog.csdn.net/lyd135364/article/details/118369692#echo1>/proc/sys/net/ipv4/ip_forward#sysctl-p......
  • 更改硬件串口映射
    ttyAMA0是硬件接串口,ttyS0是软件串口输入sudoraspi-config打开串口,关闭串口登录,后重启raspberry.查看串口映射关系ls-l/dev如serial0->ttyS0serial1->ttyA......
  • 一致性哈希算法
    应用场景:分布式缓存架构中,典型的如Redis集群问题:2亿条数据要做缓存,如何设计?回复:单机肯定不行,需要用到分布式存储,可以使用redis,如何落地?方式1:哈希取余分区2亿条记录......
  • perl 数组嵌套入哈希内
    这里是指数组作为hash的value,即一个key对应多个值这里利用perl中的特殊句柄DATA做示例用以备忘{perl数据结构一旦复杂点,可读性急剧下降,坑......
  • 漫画:什么是一致性哈希?
     收录于合集         一年之前——       未来两年内,系统预估的总订单数量可达一亿条左右。 按Mysql单表存储500万条记......
  • 一致性哈希算法 consistent hashing
     在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先......
  • EF codeFirst映射多出一个Discriminator列
    我有一个EF类需要映射到数据库,然后有一个其他的类继承了这个类,使用codefirst便会出现该问题解决方法:加上NotMappedpublicclassA{[Key]public......
  • 用metasploit映射公网远程控制舍友电脑
    用metasploit映射公网远程控制舍友电脑Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评......
  • MyBatis复杂映射开发之多对多查询
    多对多查询的模型用户表和角色表的关系为,一个用户有多个角色,一个角色被多个用户使用。多对多查询的需求:查询所有用户的同时查询出该用户对应的所有角色。@startuml!th......
  • DevTools 无法加载来源映射:无法加载 webpack··· net::ERR_UNKNOWN_URL_SCHEME
    问题:DevTools无法加载来源映射:无法加载webpack:///node_modules/element-plus/es/components/notification/src/notification.mjs.map的内容:Fetchthroughtargetfaile......