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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(0694):不同岛屿的数量(Python)
下一篇:LeetCode题解(0648):单词替换(Python)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月17日 09时41分08秒