package string;
import java.util.HashSet;
import java.util.Set;
/**
* @ProjectName: leetcode
* @Package: string
* @ClassName: String804
* @Author: markey
* @Description:
* å½é
æ©å°æ¯å¯ç å®ä¹ä¸ç§æ åç¼ç æ¹å¼ï¼å°æ¯ä¸ªåæ¯å¯¹åºäºä¸ä¸ªç±ä¸ç³»åç¹åççº¿ç»æçå符串ï¼Â æ¯å¦: "a" å¯¹åº ".-", "b" å¯¹åº "-...", "c" å¯¹åº "-.-.", ççã
*
* ä¸ºäºæ¹ä¾¿ï¼ææ26ä¸ªè±æåæ¯å¯¹åºæ©å°æ¯å¯ç 表å¦ä¸ï¼
*
* [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
* ç»å®ä¸ä¸ªåè¯åè¡¨ï¼æ¯ä¸ªåè¯å¯ä»¥åææ¯ä¸ªåæ¯å¯¹åºæ©å°æ¯å¯ç çç»åãä¾å¦ï¼"cab" å¯ä»¥åæ "-.-..--..."ï¼(å³ "-.-." + "-..." + ".-"å符串çç»å)ãæä»¬å°è¿æ ·ä¸ä¸ªè¿æ¥è¿ç¨ç§°ä½åè¯ç¿»è¯ã
*
* è¿åæä»¬å¯ä»¥è·å¾ææè¯ä¸ååè¯ç¿»è¯çæ°éã
*
* ä¾å¦:
* è¾å
¥: words = ["gin", "zen", "gig", "msg"]
* è¾åº: 2
* è§£é:
* ååè¯ç¿»è¯å¦ä¸:
* "gin" -> "--...-."
* "zen" -> "--...-."
* "gig" -> "--...--."
* "msg" -> "--...--."
*
* å
±æ 2 ç§ä¸åç¿»è¯, "--...-." å "--...--.".
* Â
*
* 注æ:
*
* åè¯å表words çé¿åº¦ä¸ä¼è¶
è¿ 100ã
* æ¯ä¸ªåè¯Â words[i]çé¿åº¦èå´ä¸ºÂ [1, 12]ã
* æ¯ä¸ªåè¯Â words[i]åªå
å«å°å忝ã
*
* æ¥æºï¼åæ£ï¼LeetCodeï¼
* 龿¥ï¼https://leetcode-cn.com/problems/unique-morse-code-words
* è使å½é¢æ£ç½ç»ææãåä¸è½¬è½½è¯·èç³»å®æ¹ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã
* @Date: 2019/10/6 18:16
* @Version: 1.0
*/
public class String804 {
public static void main(String[] args) {
String[] words = {"gin", "zen", "gig", "msg"};
System.out.println(uniqueMorseRepresentations(words));
}
/**
* å©ç¨setä¸åå¨éå¤å
ç´
* æ§è¡ç¨æ¶ :2 ms, 卿æ Java æäº¤ä¸å»è´¥äº99.94%çç¨æ·
* å
åæ¶è :35.5 MB, 卿æ Java æäº¤ä¸å»è´¥äº83.71%çç¨æ·
* @param words
* @return
*/
public static int uniqueMorseRepresentations(String[] words) {
String[] dist = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.",
"---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
Set