

可以使用 Python 代码来解决这个问题。核心思路是:
-
创建一个摩尔斯密码映射表。
-
遍历
words数组,将每个单词转换为摩尔斯码表示。 -
使用
set存储唯一的摩尔斯码翻译,最终返回set的大小。
代码如下:
def uniqueMorseRepresentations(words):
morse_code = [
".-","-...","-.-.","-..",".","..-.","--.","....","..",".---",
"-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-",
"..-","...-",".--","-..-","-.--","--.."
]
# 生成字母到摩尔斯码的映射
char_to_morse = {chr(97 + i): morse_code[i] for i in range(26)}
transformations = {"".join(char_to_morse[c] for c in word) for word in words}
return len(transformations)
# 示例
words = ["gin", "zen", "gig", "msg"]
print(uniqueMorseRepresentations(words)) # 输出: 2
解释:
-
gin→ "--...-." -
zen→ "--...-." -
gig→ "--...--." -
msg→ "--...--."
只有两种不同的摩尔斯密码翻译,因此返回 2。

被折叠的 条评论
为什么被折叠?



