Проверьте, действителен ли данный код Морзе

Опубликовано: 19 Сентября, 2022

Учитывая строку S , представляющую азбуку Морзе, задача состоит в том, чтобы проверить, является ли код действительным или нет. Азбука Морзе действительна, если она соответствует всем нижеприведенным требованиям:

  • Любое сообщение должно начинаться с точки. [ '.' ]
  • Любое сообщение должно заканчиваться дефисом. [ '-' ]
  • Каждая точка должна иметь соответствующее тире после нее, чтобы закрыть ее.

Примеры:

Input: S = “.–“
Output: Vaild

Input: S = “.”
Output: Invalid

Input: S = “-“
Output: Invalid

Подход: это простая проблема, основанная на реализации, где необходимо проверить первую, последнюю и каждую пару символов на заданные условия. Выполните указанные шаги, чтобы решить проблему:

  • Если первый или последний символы не являются точкой и тире соответственно, то строка недействительна.
  • Переместите сообщение от 0 до N-1 :
    • Если символ с индексом i является точкой , а символ с индексом i+1 не является тире (-) , то код недействителен.
  • Если цикл заканчивается, это означает, что сообщение соответствует всем требованиям. Так что код действующий.

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N)
Вспомогательное пространство: O(1)

РЕКОМЕНДУЕМЫЕ СТАТЬИ