804. Unique Morse Code Words

Posted gsz-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

For convenience, the full table for the 26 letters of the English alphabet is given below:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

Now, given a list of words, each word can be written as a concatenation of the Morse code of each letter. For example, "cab" 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.

Example:
Input: words = ["gin", "zen", "gig", "msg"]
Output: 2
Explanation: 
The transformation of each word is:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."

There are 2 different transformations, "--...-." and "--...--.".

 

Note:

  • The length of words will be at most 100.
  • Each words[i] will have length in range [1, 12].
  • words[i] will only consist of lowercase letters.

 

解题思路

题目简单,直接上代码。

 

代码

 1 class Solution {
 2 public:
 3     int uniqueMorseRepresentations(vector<string>& words) {
 4         set<string> concatenations;
 5         for (int i = 0; i < words.size(); ++i) {
 6             string tmp = words[i];
 7             string concatenation;
 8             for (auto c : tmp) {
 9                 char cha = tolower(c);
10                 concatenation += tokens[cha-a];
11             }
12             concatenations.insert(concatenation);
13         }
14         return concatenations.size();
15     }
16     static const vector<string> tokens;
17 };
18 
19 const vector<string> Solution::tokens = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};

 

以上是关于804. Unique Morse Code Words的主要内容,如果未能解决你的问题,请参考以下文章

804. Unique Morse Code Words

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