Форум » Обработка символьных строк » задача № 166. » Ответить

задача № 166.

ordjon: Здравствуйте. Решение задачи № 166. [pre2] k_max = 0 with open("24-164.txt", "r") as file: for s in file: s = s.strip() if s.count("G") < 15: L = len(s) for i in range(0, L-1, 1): k = 0 b = s[ i ] j = i + 1 while j <= L-1 and b != s[j]: j += 1 # позиция след. совпадающего символа if j < L: # если второго симв. b нет в строке k = j - i # расстояние между одинаковыми символами if k > k_max: k_max = k print(k_max) [/pre2] Ответ 173. Что не так?

Ответов - 4

Поляков: Попробуйте проверить алгоритм поиска расстояния на простой строке. Он неверно работает.

ordjon: На примерах, данных в задаче, алгоритм выдает правильные ответы: VOVA - 2 ZAGALG - 3 QRAGQT - 4 это если по одной строке в файле, если все вместе - ответ 4.

ordjon: Я думала над строками с ТРЕМЯ и более одинаковыми буквами. Спасибо. Пока словами не написала разъяснения не понимала условие задачи. Думаю, что запутал пример, предложенный в условии, может его расширить и включить строку в которой будет более двух одинаковых символов, указывая на то, что расстояние надо находить не только между первым совпадающим, с рассматриваемым, символом, а между ВСЕМИ одинаковыми символами в строке.ordjon


Поляков: Повышайте свои навыки тестировщика. Попробуйте строку s = 'AABBBDDDBBDDDBBC'.



полная версия страницы