博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode题解(0981):基于时间的键值存储(Python)
阅读量:1900 次
发布时间:2019-04-26

本文共 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 ""

转载地址:http://kczcf.baihongyu.com/

你可能感兴趣的文章
melis cedar模块的链接脚本
查看>>
RTThread IO设备和驱动学习
查看>>
编译报错: error: expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before *‘ token
查看>>
mmap函数实现
查看>>
音频基础知识详解
查看>>
Linux 命令xxd功能
查看>>
repo使用指南
查看>>
gstreamer-test
查看>>
GDB基本用法
查看>>
动态范围控制(DRC)简介
查看>>
使用C语言查看一个文件夹中所有文件及目录
查看>>
音频硬件基础
查看>>
TS流分析
查看>>
详解YUV420数据格式
查看>>
Gstreamer学习笔记(2):GstElement定义、连接
查看>>
GStreamer建议的学习步骤和网页链接汇总
查看>>
Ubuntu14.04编译安装GStreamer
查看>>
GStreamer(一)
查看>>
GStreamer(二)
查看>>
Gstreamer学习笔记(1):GStreamer Debugging
查看>>