Python全系列 教程
3567个小节阅读:5929k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
hash_map被称为映射。该容器中只能存放不重复的对象。 存放的是键值对,我们可以通过键(key)来找到对应的值(value)
xxxxxxxxxx
def __init__(self) -> None: # 用空映射初始化对象
def put(key:int, value:int) -> None: # 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。
def get(key:int) -> None: # 返回特定的 key 所映射的 value ;如果映射中不包含 key 的映射,返回 -1 。
def remove(key) -> None: # 如果映射中存在 key 的映射,则移除 key 和它所对应的 value
xxxxxxxxxx
class MyHashMap:
def __init__(self):
self.len = 997
# 存放的键值对,第一个列表放key 第二个列表放value
self.list_ = [[[],[]] for _ in range(self.len)]
def put(self, key: int, value: int) -> None:
hash_addr = key % self.len
#如果key已经存在与映射中,更新value
for i, v in enumerate(self.list_[hash_addr][0]):
if v == key:
self.list_[hash_addr][1][i] = value
return
#如果没有
self.list_[hash_addr][0].append(key)
self.list_[hash_addr][1].append(value)
def get(self, key: int) -> int:
hash_addr = key % self.len
# 如果找到返回当前value
for i, v in enumerate(self.list_[hash_addr][0]):
if v == key:
return self.list_[hash_addr][1][i]
# 如果没有 返回-1
return -1
def remove(self, key: int) -> None:
hash_addr = key % self.len
for i, v in enumerate(self.list_[hash_addr][0]):
if v == key:
self.list_[hash_addr][0].pop(i)
self.list_[hash_addr][1].pop(i)
# Your MyHashMap object will be instantiated and called as such:
# obj = MyHashMap()
# obj.put(key,value)
# param_2 = obj.get(key)
# obj.remove(key)