Проверьте, действителен ли данный код Морзе
Опубликовано: 19 Сентября, 2022
Учитывая строку S , представляющую азбуку Морзе, задача состоит в том, чтобы проверить, является ли код действительным или нет. Азбука Морзе действительна, если она соответствует всем нижеприведенным требованиям:
- Любое сообщение должно начинаться с точки. [ '.' ]
- Любое сообщение должно заканчиваться дефисом. [ '-' ]
- Каждая точка должна иметь соответствующее тире после нее, чтобы закрыть ее.
Примеры:
Input: S = “.–“
Output: VaildInput: S = “.”
Output: InvalidInput: S = “-“
Output: Invalid
Подход: это простая проблема, основанная на реализации, где необходимо проверить первую, последнюю и каждую пару символов на заданные условия. Выполните указанные шаги, чтобы решить проблему:
- Если первый или последний символы не являются точкой и тире соответственно, то строка недействительна.
- Переместите сообщение от 0 до N-1 :
- Если символ с индексом i является точкой , а символ с индексом i+1 не является тире (-) , то код недействителен.
- Если цикл заканчивается, это означает, что сообщение соответствует всем требованиям. Так что код действующий.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N)
Вспомогательное пространство: O(1)