LeetCode题解(0966):多条件的元音拼写检查器(Python)
发布日期:2021-06-29 19:58:20 浏览次数:2 分类:技术文章

本文共 1138 字,大约阅读时间需要 3 分钟。

题目:(中等)

标签:字符串、哈希表

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( M + N ) O(M+N) O(M+N) O ( M ) O(M) O(M) 240ms (52.17%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    def spellchecker(self, wordlist: List[str], queries: List[str]) -> List[str]:        # 处理wordlist列表        word_set = set(wordlist)  # 用于匹配区分大小写的结果        word_dict = collections.defaultdict(list)  # 用于匹配大小写问题的单词        vowel_dict = collections.defaultdict(list)  # 用于匹配元音问题的单词        for word in wordlist:            lower = word.lower()            word_dict[lower].append(word)            vowel_dict[re.sub("[aeiou]", "#", lower)].append(word)        # 执行匹配        ans = []        for query in queries:            if query in word_set:                ans.append(query)            else:                lower = query.lower()                if lower in word_dict:                    ans.append(word_dict[lower][0])                else:                    vowel = re.sub("[aeiou]", "#", lower)                    if vowel in vowel_dict:                        ans.append(vowel_dict[vowel][0])                    else:                        ans.append("")        return ans

转载地址:https://dataartist.blog.csdn.net/article/details/108091871 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1016):判断大量整数的二进制表示是否为字符串的子串(Python)
下一篇:LeetCode题解(0936):序列能否由指定印章印成(Python)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月29日 11时31分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章