LeetCode-804. Unique Morse Code Words

网友投稿 491 2022-08-25

LeetCode-804. Unique Morse Code Words

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.

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, "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.

Example:Input: words = ["gin", "zen", "gig", "msg"]Output: 2Explanation: 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.

题解:

class Solution {public: int uniqueMorseRepresentations(vector& words) { int n = words.size(); if (n <= 1) { return n; } set st; string morse[26] = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}; for (int i = 0; i < n; i++) { string s; for (int j = 0; j < words[i].size(); j++) { s += morse[words[i][j] - 97]; } st.insert(s); } return st.size(); }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode-709. To Lower Case
下一篇:系统栈的工作原理(栈的实现原理)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~