码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 804 Unique Morse Code Words 解题报告

时间:2019-01-03 11:00:10      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:lis   encoding   self   ...   nta   nal   letter   tran   不同的   

题目要求

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 解题报告

标签:lis   encoding   self   ...   nta   nal   letter   tran   不同的   

原文地址:https://www.cnblogs.com/yao1996/p/10212454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!