LeetCode题解(0804):摩斯密码不同的单词(Python)
发布日期:2021-06-29 19:54:21 浏览次数:3 分类:技术文章

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

题目:(简单)

标签:字符串

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N × k ) O(N×k) O(N×k) : k为单词平均长度 O ( N ) O(N) O(N) 44ms (78.68%)
Ans 2 (Python) O ( N × k ) O(N×k) O(N×k) : k为单词平均长度 O ( N ) O(N) O(N) 36ms (95.83%)
Ans 3 (Python)

解法一(暴力解法):

def uniqueMorseRepresentations(self, words: List[str]) -> int:    morse = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.",             "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."]    codes = set()    for word in words:        code = ""        for c in word.lower():            code += morse[ord(c) - 97]        codes.add(code)    return len(codes)

解法二(暴力解法的又一种形式):

def uniqueMorseRepresentations(self, words: List[str]) -> int:    morse = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.",             "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."]    codes = set()    for word in words:        codes.add("".join([morse[ord(c) - 97] for c in word.lower()]))    return len(codes)

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

上一篇:LeetCode题解(0806):写字符串所需的行数(Python)
下一篇:LeetCode题解(0796):旋转字符串(Python)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月23日 07时50分32秒