Задача 5: Уникальные слова азбуки Морзе

Напишите определение функции uniqueMorseRepresentations(words), которая принимает массив строк words. Каждый элемент массива представляет слово, которое может быть записано в виде последовательности точек и тире согласно таблице кодировки Морзе.

Функция должна вернуть количество уникальных преобразований слов в массиве words, где преобразование слова — это его запись в виде последовательности точек и тире.

Таблица кодировки Морзе:

Каждой букве английского алфавита соответствует последовательность точек и тире:

a -> ".-", b -> "-...", c -> "-.-.", d -> "-..", e -> ".", f -> "..-.",  
g -> "--.", h -> "....", i -> "..", j -> ".---", k -> "-.-", l -> ".-..",  
m -> "--", n -> "-.", o -> "---", p -> ".--.", q -> "--.-", r -> ".-.",  
s -> "...", t -> "-", u -> "..-", v -> "...-", w -> ".--", x -> "-..-",  
y -> "-.--", z -> "--.."

Входные данные:

  • words (List[str]): массив строк, где каждая строка состоит только из строчных букв английского алфавита.

Выходные данные:

  • (int): количество уникальных преобразований слов в массиве.

Пример 1:

Вход:

words = ["gin", "zen", "gig", "msg"]

Выход:

2

Объяснение:
Преобразования для каждого слова:

  • "gin""--...-."
  • "zen""--...-."
  • "gig""--...--."
  • "msg""--...--."

Уникальные преобразования: "--...-.", "--...--.".


Пример 2:

Вход:

words = ["a"]

Выход:

1

Объяснение:
Преобразование для слова "a": ".-".

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии