LeetCode题解(0981):基于时间的键值存储(Python)
发布日期:2021-06-29 20:09:38
浏览次数:2
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月07日 19时36分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【转载】gridview的几个事件说明
2021-07-03
RegularExpressionValidator控件中正则表达式用法
2021-07-03
Javascript中的类实现
2021-07-03
DataTable,DataView和DataGrid中一些容易混淆的概念
2021-07-03
c#.net在WEB页中设置COOKIES
2021-07-03
Cookie使用基础
2021-07-03
C# cookie的使用
2021-07-03
C#如何创建、读取cookie
2021-07-03
Cookie在网站中的两大使用方法[cookie使用]
2021-07-03
C# 细说Cookie
2021-07-03
两个Cookie类
2021-07-03
C#中StringBuilder类的使用
2021-07-03
String,StringBuffer与StringBuilder的区别??
2021-07-03
用户登录安全性的简单实例分析(Cookie、加密)
2021-07-03
Cookie详解!
2021-07-03
Cookie/Session机制详解
2021-07-03
C# DES加密解密字符串
2021-07-03
C# 加密解密算法
2021-07-03
C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
2021-07-03