LeetCode题解(0676):实现一个魔法字典(Python)
发布日期:2021-06-29 20:09:28
浏览次数:3
分类:技术文章
本文共 1056 字,大约阅读时间需要 3 分钟。
题目:(中等)
标签:哈希表、字典树
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | buildDict = O ( N × L ) O(N×L) O(N×L) ; search = O ( L ) O(L) O(L) | O ( N × L ) O(N×L) O(N×L) | 308ms (25.77%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一(哈希表):
class MagicDictionary: def __init__(self): self.pattern = { } def buildDict(self, dictionary: List[str]) -> None: for word in dictionary: for i in range(len(word)): if (word[:i] + "." + word[i + 1:]) not in self.pattern: self.pattern[(word[:i] + "." + word[i + 1:])] = word[i] else: if word[i] != self.pattern[(word[:i] + "." + word[i + 1:])]: self.pattern[(word[:i] + "." + word[i + 1:])] = None print(self.pattern) def search(self, searchWord: str) -> bool: for i in range(len(searchWord)): if (searchWord[:i] + "." + searchWord[i + 1:]) in self.pattern: if searchWord[i] != self.pattern[(searchWord[:i] + "." + searchWord[i + 1:])]: return True return False
转载地址:https://dataartist.blog.csdn.net/article/details/109836958 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月17日 09时41分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
用纯css做一个圆
2019-04-30
清除浮动Clearfix
2019-04-30
30分钟彻底弄懂flex布局(本文转自腾讯云加社区,自己收藏学习)
2019-04-30
谷歌浏览器针对http强制转换为https的问题
2019-04-30
对vue 键盘回车事件的实例讲解(收藏)
2019-04-30
关于禁止页面缓存的一些摘录
2019-04-30
vue在html中绑定值
2019-04-30
vue 在html标签内动态绑定样式的正确写法
2019-04-30
根据对象的某一属性进行排序的js代码
2019-04-30
js判断对象是否为空对象的几种方法
2019-04-30
java中IO流的简单应用-java基础(递归遍历 处理异常 数代码)
2019-04-30
服务器免密配置
2019-04-30
linux安装jdk
2019-04-30
redis单点环境搭建
2019-04-30
zookeeper环境搭建
2019-04-30
linux中mysql配置安装
2019-04-30
ElasticSearch集群环境搭建
2019-04-30