题目:原题链接(简单)
标签:字符串
解法时间复杂度空间复杂度执行用时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)