Шешімі: Максимальная чередующаяся последовательность
Текстовый файл состоит из заглавных букв латинского алфавита Q, R, W и цифр 1, 2, 4. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых ни одна буква не стоит рядом с буквой, а цифра — с цифрой.
Для выполнения этого задания следует написать программу.
Шешім по шагам
3 қадамУсловие выполняется, если каждый следующий символ имеет тип, отличный от типа предыдущего: после буквы должна идти цифра, а после цифры — буква.
При последовательном просмотре файла поддерживаем длину текущего подходящего фрагмента. Если тип текущего символа отличается от типа предыдущего, увеличиваем длину; иначе начинаем новый фрагмент с длины 1.
$$current = \begin{cases} current + 1, & type(s_i) \ne type(s_{i-1}) \\ 1, & type(s_i) = type(s_{i-1}) \end{cases}$$После обработки всего файла выбираем наибольшее значение текущей длины. В приложенном файле максимальная длина такого фрагмента равна 17.
$$max\_length = 17$$Где здесь ошибаются
Проверяют различие самих символов, хотя требуется различие типов: буква или цифра.
Не сбрасывают длину текущего фрагмента после появления двух соседних букв или двух соседних цифр.
Забывают учесть последний фрагмент строки после завершения просмотра файла.