如何实现每日一题676号的魔法字典功能?

2026-05-21 19:450阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计805个文字,预计阅读时间需要4分钟。

如何实现每日一题676号的魔法字典功能?

题目:设计一个使用单词汇表进行初始化的数据结构,单词汇表中的单词互不相同。若给出一个单词,请判断能否仅通过将这个单词中的一个字母替换成另一个字母,形成另一个已存在的单词。

输入:单词汇表(单词间用空格分隔)

输出:对于每个输入单词,输出是或否,表示该单词能否通过单字母替换形成单词汇表中的另一个单词。

题目:设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。

实现 MagicDictionary 类:

# 676 实现一个魔法字典 from typing import List class MagicDictionary: # 初始化对象 def __init__(self): pass # 使用字符串数组 dictionary 设定该数据结构,dictionary 中的字符串互不相同 def buildDict(self, dictionary: List[str]) -> None: pass # 给定一个字符串 searchWord ,判定能否只将字符串中 一个 字母换成另一个字母,使得所形成的新字符串能够与字典中的任一字符串匹配。如果可以,返回 true ;否则,返回 false 。 def search(self, searchWord: str) -> bool: pass

解:没有看完题目就开始写了,下面这个版本写得很差,但是可以通过。我用了集合表示拥有的单词,实际上用列表就可以。因为题目保证了初始化列表中不会有重复的单词。另一个地方就是search()方法,写得非常纯真。

阅读全文

本文共计805个文字,预计阅读时间需要4分钟。

如何实现每日一题676号的魔法字典功能?

题目:设计一个使用单词汇表进行初始化的数据结构,单词汇表中的单词互不相同。若给出一个单词,请判断能否仅通过将这个单词中的一个字母替换成另一个字母,形成另一个已存在的单词。

输入:单词汇表(单词间用空格分隔)

输出:对于每个输入单词,输出是或否,表示该单词能否通过单字母替换形成单词汇表中的另一个单词。

题目:设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。

实现 MagicDictionary 类:

# 676 实现一个魔法字典 from typing import List class MagicDictionary: # 初始化对象 def __init__(self): pass # 使用字符串数组 dictionary 设定该数据结构,dictionary 中的字符串互不相同 def buildDict(self, dictionary: List[str]) -> None: pass # 给定一个字符串 searchWord ,判定能否只将字符串中 一个 字母换成另一个字母,使得所形成的新字符串能够与字典中的任一字符串匹配。如果可以,返回 true ;否则,返回 false 。 def search(self, searchWord: str) -> bool: pass

解:没有看完题目就开始写了,下面这个版本写得很差,但是可以通过。我用了集合表示拥有的单词,实际上用列表就可以。因为题目保证了初始化列表中不会有重复的单词。另一个地方就是search()方法,写得非常纯真。

阅读全文