LeetCode 804 Unique Morse Code Words 解题报告
Posted yao1996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 804 Unique Morse Code Words 解题报告相关的知识,希望对你有一定的参考价值。
题目要求
International Morse Code defines a standard encoding where each letter is mapped to a series of dots and dashes, as follows: "a"
maps to ".-"
, "b"
maps to "-..."
, "c"
maps to "-.-."
, and so on.
Now, given a list of words, each word can be written as a concatenation of the Morse code of each letter. For example, "cba" can be written as "-.-..--...", (which is the concatenation "-.-." + "-..." + ".-"). We‘ll call such a concatenation, the transformation of a word.
Return the number of different transformations among all words we have.
题目分析及思路
题目给出摩斯码的编码规则,要求返回所有单词不同transformation的个数。找出多少种不同的情况,可以用len(set())的方式进行处理。摩斯码和字母的对应关系可以用字典。
python代码?
class Solution:
def uniqueMorseRepresentations(self, words):
"""
:type words: List[str]
:rtype: int
"""
morse = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
letter = [‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘]
mldict = dict(zip(letter,morse))
res = set()
for word in words:
mword = ""
for w in word:
mword = mword + mldict[w]
res.add(mword)
return len(res)
以上是关于LeetCode 804 Unique Morse Code Words 解题报告的主要内容,如果未能解决你的问题,请参考以下文章
leetcode-804-Unique Morse Code Words
LeetCode 804 Unique Morse Code Words 解题报告
Leetcode 804. Unique Morse Code Words
[LeetCode] 804. Unique Morse Code Words 独特的摩斯码单词