Текстовый файл содержит строку из символов A, B, C и D.
Определите максимальную длину непрерывного фрагмента строки, в котором нет трёх подряд идущих букв A.
В ответе запишите одно целое число.
Для выполнения задания используйте файл: 24_no_A_01.txt
Текстовый файл содержит строку из символов A, B, C и D.
Определите максимальную длину непрерывного фрагмента строки, в котором нет трёх подряд идущих букв A.
В ответе запишите одно целое число.
Для выполнения задания используйте файл: 24_no_A_01.txt
Можно идти по строке слева направо и поддерживать текущий допустимый фрагмент.
Если встретились три подряд идущие буквы A, то начало нового допустимого фрагмента можно перенести на вторую букву A из этой тройки.
Будем просматривать строку слева направо. Переменная left хранит начало текущего допустимого фрагмента, а a_run — сколько букв A подряд встретилось к текущему моменту.
Если a_run стало равно 3, значит текущий фрагмент уже содержит запрещённую цепочку AAA. Тогда переносим левую границу так, чтобы в новом фрагменте остались только две последние буквы A.
s = open('24_no_A_01.txt').read().strip()
best = 0
left = 0
a_run = 0
for right, ch in enumerate(s):
if ch == 'A':
a_run += 1
else:
a_run = 0
if a_run == 3:
left = right - 1
a_run = 2
best = max(best, right - left + 1)
print(best)Эта задача используется в подборках, связках или тренировочных наборах.