Leetcode-804: la única palabra en código Morse

  1. La única palabra en código Morse
    Introducción:

El Código Morse Internacional define un método de codificación estándar, donde cada letra corresponde a una cadena que consta de una serie de puntos y guiones, por ejemplo: "a" corresponde a ".-", "b" corresponde a "-..." , "c" corresponde a "-.-.", etc.

Para mayor comodidad, la tabla de códigos Morse para las 26 letras en inglés es la siguiente:

[".-", "-…", "-.-.", "-…", ".", "… -.", "-.", "…", "…", ".—" , "-.-", ".-…", "-", "-.", "-", ".–.", "–.-", ".-.", "…", "- "," ... - "," ... - "," .– "," - ... - "," -.– "," - ... "]

Dada una lista de palabras, cada palabra se puede escribir como una combinación de código Morse para cada letra. Por ejemplo, "cab" se puede escribir como "-.-... – ...", (es decir, la combinación de "-.-." + "-..." + ".-"). A este proceso de conexión lo llamamos traducción de palabras.
Volver podemos obtener el número de traducciones de palabras diferentes para todas las palabras.
Por ejemplo:
Entrada: palabras = [“gin”, “zen”, “gig”, “msg”]
Salida: 2
Explicación:
La traducción de cada palabra es la siguiente:
“gin” -> “-… -.”
“ zen ”->“ -… -. ”
“ concierto ”->“ -… -. ”
“ msg ”->“ -… -. ”
Hay 2 traducciones diferentes,“ -… -. ”y“ -… -. ”.
Nota:

La longitud de las palabras de la lista de palabras no superará las 100.
El rango de longitud de cada palabra palabra [i] es [1, 12].
Cada palabra palabras [i] contiene solo letras minúsculas.
Implementación del código: `

import java.util.*;
class Solution {
    
    
    public int uniqueMorseRepresentations(String[] words) {
    
    
        String[] codes={
    
    ".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};

         TreeSet<String> set=new TreeSet<>();
         for(String  word:words){
    
    
             StringBuilder res= new StringBuilder();
             for(int i=0;i<word.length();i++){
    
    
                 res.append(codes[word.charAt(i)-'a']);
             }
             set.add(res.toString());
 
         }
         return set.size();
   
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_43078445/article/details/104960504
Recomendado
Clasificación