leetcode 804. 唯一摩爾斯密碼詞(Unique Morse Code Words)
阿新 • • 發佈:2019-03-29
order 國際 獲得 ons 描述 word represent solution ins
目錄
- 題目描述:
- 示例:
- 解法:
題目描述:
國際摩爾斯密碼定義一種標準編碼方式,將每個字母對應於一個由一系列點和短線組成的字符串, 比如: "a"
對應 ".-"
, "b"
對應 "-..."
, "c"
對應 "-.-."
, 等等。
為了方便,所有26個英文字母對應摩爾斯密碼表如下:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
給定一個單詞列表,每個單詞可以寫成每個字母對應摩爾斯密碼的組合。例如,"cab" 可以寫成 "-.-..--...",(即 "-.-." + "-..." + ".-"字符串的結合)。我們將這樣一個連接過程稱作單詞翻譯。
返回我們可以獲得所有詞不同單詞翻譯的數量。
示例:
輸入: words = ["gin", "zen", "gig", "msg"] 輸出: 2 解釋: 各單詞翻譯如下: "gin" -> "--...-." "zen" -> "--...-." "gig" -> "--...--." "msg" -> "--...--." 共有 2 種不同翻譯, "--...-." 和 "--...--.".
註意:
- 單詞列表
words
的長度不會超過100
。 - 每個單詞
words[i]
的長度範圍為[1, 12]
。 - 每個單詞
words[i]
只包含小寫字母。
解法:
class Solution { public: int uniqueMorseRepresentations(vector<string>& words) { vector<string> lst = {".-","-...","-.-.","-..",".","..-.", "--.","....","..",".---","-.-",".-..", "--","-.","---",".--.","--.-",".-.", "...","-","..-","...-",".--","-..-", "-.--","--.."}; unordered_set<string> st; for(string word : words){ string tmp = ""; for(char ch : word){ tmp += lst[ch - 'a']; } st.insert(tmp); } return st.size(); } };
leetcode 804. 唯一摩爾斯密碼詞(Unique Morse Code Words)