Предмет: Информатика, автор: Аноним

Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.

Я написал программу на Python и у меня получился ответ 34, а правильный 35:

k = 0
kmax = 0
with open("24_demo.txt", "r") as f:
s = f.read()
for i in range(0, len(s)):
if s[i] != s[i - 1]:
k = k + 1
if k > kmax:
kmax = k
else:
k = 0
print(kmax)

Где ошибка?


Аноним: там символов не 106, а 10**6

Ответы

Автор ответа: Fedy16
5

Ответ:

with open("24_demo.txt", "r") as F:

   s = F.readline()

   maxLen, curLen = 1, 1

   for i in range(1, len(s)):

       if s[i] != s[i - 1]:

           curLen += 1

           if curLen > maxLen:

               maxLen = curLen

       else:

           curLen = 1

print(maxLen)


Аноним: А почему мы в else должны curLen возвращать 1, а не ноль?
Аноним: чел, спасибо, открыл глаза
Аноним: Можешь помочь еще с одной задачей?
Аноним: Посмотри у меня в профиле, пожалуйста
Похожие вопросы