1 题目描述

2 解题思路

创建两个字典,它们有相同的键,键值分别是value和timestamp

然后get的时候,我先用二分查找最大的timestamp_prev的下标,然后用这个下标定位到相应的value值

class TimeMap(object):def __init__(self):"""Initialize your data structure here."""self.dit_v=dict()
#key——valueself.dit_t=dict()
#key——timestampdef set(self, key, value, timestamp):""":type key: str:type value: str:type timestamp: int:rtype: None"""if(key in self.dit_v):self.dit_v[key].append(value)self.dit_t[key].append(timestamp)else:self.dit_v[key]=[value]self.dit_t[key]=[timestamp]def get(self, key, timestamp):""":type key: str:type timestamp: int:rtype: str"""if(key not in self.dit_v):return("")
#字典中没有这个键值value=self.dit_v[key]time=self.dit_t[key]left=0right=len(value)-1while(left<=right):mid=(right-left)//2+leftif(time[mid]==timestamp):return(value[mid])elif(time[mid]>timestamp):right=mid-1elif(time[mid]<timestamp):left=mid+1
#二分查找if(right==-1):return("")  return value[right]# Your TimeMap object will be instantiated and called as such:
# obj = TimeMap()
# obj.set(key,value,timestamp)
# param_2 = obj.get(key,timestamp)

文巾解题 981. 基于时间的键值存储相关推荐

  1. LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II

    981. 基于时间的键值存储 2021.7.10 每日一题 题目描述 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作:1. set(string key, string value, ...

  2. 981. 基于时间的键值存储

    创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作: set(string key, string value, int timestamp) 存储键 key.值 value,以及给定的 ...

  3. LeetCode 981. 基于时间的键值存储(哈希+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作: set(string key, string value, int timestamp ...

  4. 365天挑战LeetCode1000题——Day 038 公交站间的距离 + 基于时间的键值存储 + 转变数组后最接近目标值的数组和 + 有界数组中指定下标处的最大值

    文章目录 1184. 公交站间的距离 代码实现(自解) 981. 基于时间的键值存储 代码实现(自解) 1300. 转变数组后最接近目标值的数组和 代码实现(自解) 1802. 有界数组中指定下标处的 ...

  5. leetcode981. 基于时间的键值存储(treemap)

    创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作: set(string key, string value, int timestamp) 存储键 key.值 value,以及给定的 ...

  6. 基于LSM-Tree的键值存储引擎的设计与实现

    资源下载地址:https://download.csdn.net/download/sheziqiong/85709667 资源下载地址:https://download.csdn.net/downl ...

  7. 文巾解题 15. 三数之和

    1 题目描述 2 解题思路 2.1 使用两数之和函数 这种做法目前超时了,如果大家有想到合适的减时间/剪枝的方法,欢迎私信or评论~ 两数之和的方法见文巾解题 1. 两数之和_刘文巾的博客-CSDN博 ...

  8. 文巾解题 面试题 01.04. 回文排列

    1 题目描述 2 解题思路 2.1 哈希表 创建一个哈希表,记录每个元素出现的次数.如果出现次数为奇数的元素只有一个或者没有,那么就是一个回文排列 class Solution:def canPerm ...

  9. 文巾解题 342. 4的幂

    1 题目描述 2 解题思路 2.1 方法1 判断log函数的结果是不是整数 class Solution:def isPowerOfFour(self, n: int) -> bool:if(n ...

最新文章

  1. 学界 | 清华AMiner团队发布53页计算机图形学研究报告
  2. DataTable 数据去重复
  3. Spring Boot 一般层级简介
  4. Linux-手动释放linux内存cache
  5. 中的 隐藏鼠标菜单_Mac移动隐藏删除顶部菜单栏图标教程
  6. 前端学习(702):while循环
  7. 定时任务crontab
  8. 电脑怎么彻底删除软件_彻底删除的微信聊天记录怎么恢复?有哪些方法能做到...
  9. Microsoft Office Word一打开文档就弹出样式小窗口
  10. 使用信号量机制实现独木桥问题
  11. 虚拟服务器忘记密码,win7系统下VMware虚拟机忘记开机密码的解决方法
  12. [整理]邮件里常用英文缩写
  13. 用广发卡自动分期买苹果还是华为?
  14. CSP22.3 T4通信系统管理
  15. 计算机usb接口指什么,端口是什么?USB口、COM1、COM2、COM3等等又是什么?
  16. 重磅!网页版 VSCode 来了!
  17. Linux三剑客 grep sed awk 详细使用方法
  18. Tomcat重启单个服务
  19. 【TensorFlow】Keras机器学习基础知识-使用TF.Hub进行文本分类
  20. 抓狐狸小游戏(python程序设计实验16)

热门文章

  1. 首家中国快递公司赴美上市!总市值达141亿美元
  2. getcwd()和dirname(__FILE__)的区别
  3. Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
  4. Linux下查看磁盘挂载的三种方法
  5. 算法提高课-搜索-Flood fill算法-AcWing 1098. 城堡问题:flood fill、bfs
  6. 《大话数据结构》读书笔记-线性表
  7. java 并发编程 aqs_Java并发编程之AQS
  8. docker 推送到本地仓库_Docker_学习笔记系列之仓库
  9. java线程主要状态及转换_Java线程状态转换及控制
  10. pytest allure测试报告_Appium+pytest+allure+jenkins如何实现多台手机连接