Текстовый файл состоит не более чем из 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

Ответ
5 (2 оценки)
1
Fedy16 4 года назад
Светило науки - 290 ответов - 0 раз оказано помощи

Ответ:

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)

Остались вопросы?