angularjs 网站模板,德州网站建设招聘,广告设计与制作论文,wordpress 更新失败1️⃣要求#xff1a;
设计一个使用单词列表进行初始化的数据结构#xff0c;单词列表中的单词 互不相同 。 如果给出一个单词#xff0c;请判定能否只将这个单词中一个字母换成另一个字母#xff0c;使得所形成的新单词存在于你构建的字典中。
实现 MagicDictionary 类…
1️⃣要求
设计一个使用单词列表进行初始化的数据结构单词列表中的单词 互不相同 。 如果给出一个单词请判定能否只将这个单词中一个字母换成另一个字母使得所形成的新单词存在于你构建的字典中。
实现 MagicDictionary 类
MagicDictionary() 初始化对象void buildDict(String[] dictionary) 使用字符串数组 dictionary 设定该数据结构dictionary 中的字符串互不相同bool search(String searchWord) 给定一个字符串 searchWord 判定能否只将字符串中 一个 字母换成另一个字母使得所形成的新字符串能够与字典中的任一字符串匹配。如果可以返回 true 否则返回 false 。
示例
输入
[MagicDictionary, buildDict, search, search, search, search]
[[], [[hello, leetcode]], [hello], [hhllo], [hell], [leetcoded]]
输出
[null, null, false, true, false, false]解释
MagicDictionary magicDictionary new MagicDictionary();
magicDictionary.buildDict([hello, leetcode]);
magicDictionary.search(hello); // 返回 False
magicDictionary.search(hhllo); // 将第二个 h 替换为 e 可以匹配 hello 所以返回 True
magicDictionary.search(hell); // 返回 False
magicDictionary.search(leetcoded); // 返回 False提示
1 dictionary.length 1001 dictionary[i].length 100dictionary[i] 仅由小写英文字母组成dictionary 中的所有字符串 互不相同1 searchWord.length 100searchWord 仅由小写英文字母组成buildDict 仅在 search 之前调用一次最多调用 100 次 search 2️⃣个人算法思路
先建立一个列表将所有的库存单词存入。
1.用户输入一个Search单词我们需要针对每一个库存单词进行识别
2.对于每一次单词识别单词长度不一样的直接跳过
3.接下来逐个字母扫描如果有不一样的字母diffWords计数1
4.如果扫描完一个库存单词后diffWords1就为目标单词返回True。
5.如果diffWords!1证明有两个及以上字母不同则继续扫描下一个单词
6.如果全部扫描完后不满足True的条件的即为False
Python代码具体实现
class MagicDictionary(object):def __init__(self):self.WordList []def buildDict(self, dictionary):for word in dictionary:self.WordList.append(word)def search(self, searchWord):for word in self.WordList:if len(word) ! len(searchWord): continuediffWords 0for i in range(len(word)):if word[i] ! searchWord[i]:if diffWords 0:diffWords 1else:diffWords 1breakif diffWords 1: return Truereturn Falseif __name__ __main__:obj MagicDictionary()obj.buildDict([hello,hillo, hivee, leetcode])param_2 obj.search(hello)param_3 obj.search(hallo)param_4 obj.search(hallo0)param_5 obj.search(leescode)param_6 obj.search(hivea)param_7 obj.search(judge)param_8 obj.search(aaaaa)print(param_2)print(param_3)print(param_4)print(param_5)print(param_6)print(param_7)print(param_8)
测试结果