当前位置: 首页 > news >正文

【LeetCode刷题-哈希】--706.设计哈希映射

706.设计哈希映射

image-20231030083756092

class MyHashMap {private class Pair{private int key;private int value;public Pair(int key ,int value){this.key = key;this.value = value;}public int getKey(){return key;}public int getValue(){return value;}public void setValue(int value){this.value = value;}}private static final int BASE = 769;private LinkedList[] data;//生成自己的数据结构public MyHashMap() {data = new LinkedList[BASE];for(int i = 0;i<BASE;i++){data[i] = new LinkedList<Pair>();}}public void put(int key, int value) {int h = hash(key);Iterator<Pair> iterator = data[h].iterator();while(iterator.hasNext()){Pair pair = iterator.next();if(pair.getKey() == key ){pair.setValue(value);return;}}data[h].offerLast(new Pair(key,value));}public int get(int key) {   int h = hash(key);Iterator<Pair> iterator = data[h].iterator();while(iterator.hasNext()){Pair pair = iterator.next();if(pair.getKey() == key ){return pair.value;}}return -1;}public void remove(int key) {int h = hash(key);Iterator<Pair> iterator = data[h].iterator();while(iterator.hasNext()){Pair pair = iterator.next();if(pair.key == key){data[h].remove(pair);return ;}}}private static int hash(int key){return key % BASE;}
}/*** Your MyHashMap object will be instantiated and called as such:* MyHashMap obj = new MyHashMap();* obj.put(key,value);* int param_2 = obj.get(key);* obj.remove(key);*/
http://www.lryc.cn/news/211390.html

相关文章:

  • 前端 : 用HTML ,CSS ,JS 做一个点名器
  • css:button实现el-radio效果
  • 算法工程师-机器学习-数据科学家面试准备4-ML系统设计
  • git重装后如何连接以前项目
  • 【java学习—十】TreeSet集合(5)
  • JMeter的使用,傻瓜式学习【上】
  • 主定理(一般式)
  • WLAN的组网架构和工作原理
  • 使用OBS Browser+访问华为云OBS存储【Windows】
  • C++总结(3):类的动态内存分配、异常、类型转换运算符
  • 折半搜索(meet in the middle)
  • 【机器学习】loss损失讨论
  • LeetCode 779. 第K个语法符号【递归,找规律,位运算】中等
  • java try throw exception finally 遇上 return break continue造成异常丢失
  • 设计模式——装饰器模式(Decorator Pattern)+ Spring相关源码
  • MATLAB R2018b详细安装教程(附资源)
  • GEE错误——影像加载过程中出现的图层无法展示的解决方案
  • 读图数据库实战笔记03_遍历
  • QT如何检测当前系统是是Windows还是Uninx或Mac?以及是哪个版本?
  • Maven配置阿里云中央仓库settings.xml
  • 由浅入深C系列八:如何高效使用和处理Json格式的数据
  • 多媒体应用设计师 第16章 多媒体应用系统的设计和实现示例
  • golang平滑重启库overseer实现原理
  • 用Python定义一个函数,用递归的方式模拟汉诺塔问题
  • 二手的需求
  • 大厂面试题-JVM为什么使用元空间替换了永久代?
  • 基本微信小程序的驾校宝典系统-驾照考试系统
  • 02、SpringCloud -- Redis和Cookie过期时间刷新功能
  • 【报错】kali安装ngrok报错解决办法(zsh: exec format error: ./ngrok)
  • <学习笔记>从零开始自学Python-之-常用库篇(十三)内置小型数据库shelve