码迷,mamicode.com
首页 > 其他好文 > 详细

676. 实现一个魔法字典

时间:2020-11-26 15:16:42      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:image   ali   loading   +=   单词   ems   load   字符   ant   

技术图片
技术图片

class MagicDictionary(object):
    def __init__(self):
        """
        Initialize your data structure here.
        """
        self.mydict = {}

    def buildDict(self, dictionary):
        """
        :type dictionary: List[str]
        :rtype: None
        """
        for word in dictionary:
            self.mydict[word] = len(word)

    def search(self, searchWord):
        """
        :type searchWord: str
        :rtype: bool
        """
        # 特判:没有相同长度的单词,肯定为False
        if len(searchWord) not in self.mydict.values():
            return False
        # 长度相同,但单词不同,且不同字符只有一个,才能返回True,否则返回False
        for word, wordSize in self.mydict.items():
            if len(searchWord) == wordSize and searchWord != word and self.canTrans(searchWord, word, wordSize):
                return True
        return False

    def canTrans(self, searchWord, word, wordSize):
        flag = 0
        for i in range(wordSize):
            if searchWord[i] != word[i]:
                flag += 1
        return flag == 1

676. 实现一个魔法字典

标签:image   ali   loading   +=   单词   ems   load   字符   ant   

原文地址:https://www.cnblogs.com/panweiwei/p/14025051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!