LeetCode题解(0981):基于时间的键值存储(Python)
发布日期:2021-06-29 20:09:38
浏览次数:3
分类:技术文章
本文共 1068 字,大约阅读时间需要 3 分钟。
题目:(中等)
标签:哈希表、二分查找
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | set = O ( 1 ) O(1) O(1) get = O ( l o g N ) O(logN) O(logN) | O ( N ) O(N) O(N) | 768ms (84.81%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class TimeMap: def __init__(self): self.hashmap_t = collections.defaultdict(list) self.hashmap_val = collections.defaultdict(dict) def set(self, key: str, value: str, timestamp: int) -> None: if timestamp not in self.hashmap_t[key]: bisect.insort_left(self.hashmap_t[key], timestamp) self.hashmap_val[key][timestamp] = value def get(self, key: str, timestamp: int) -> str: if len(self.hashmap_t[key]) > 0: i = bisect.bisect_left(self.hashmap_t[key], timestamp) if i >= len(self.hashmap_t[key]): i -= 1 if self.hashmap_t[key][i] > timestamp: i -= 1 # print(i, self.hashmap_t[key], timestamp) if i >= 0: return self.hashmap_val[key][self.hashmap_t[key][i]] else: return "" else: return ""
转载地址:https://dataartist.blog.csdn.net/article/details/109842147 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年05月02日 00时48分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
日志异常处理
2019-04-30
SpringBoot的启动类的位置
2019-04-30
JPA,Hibernate框架使用的踩坑记录和使用的一些细节问题
2019-04-30
Semantic-UI进行前端的表单的验证功能
2019-04-30
java.File类常用方法
2019-04-30
java中 == 与equals()的区别
2019-04-30
【日常学习】origin入门 保姆级教程
2019-04-30
【踩坑指南】ROS
2019-04-30
【学习随记】Word域代码相关
2019-04-30
MongoDB入门简记
2019-04-30
软件工程习题——第七周:面向对象设计-1
2019-04-30
软件工程习题——第七周:面向对象设计-2
2019-04-30
软件工程习题——第八周:编码实现
2019-04-30
软件工程习题——第八周:敏捷开发方法
2019-04-30
软件工程习题——第九周:软件测试-1
2019-04-30
软件工程习题——第九周:软件测试-2
2019-04-30
软件工程习题——第十周:项目管理
2019-04-30
软件工程习题——第十周:CMM(能力成熟度模型)
2019-04-30
软件工程习题——第十一周:软件开发工具与环境
2019-04-30
Jupyter Notebook使用
2019-04-30