Форум сайта python.su
AD0DE412для этого список и применен
Нужна помощь по регулярным выражением re
эээ … у вас … вы исходите из предположения что самый длинный элемент один (что не всегда так)
Офлайн
Так, стоп. По ходу пьесы, мы вообще решаем разные задачи. Мой код отдает последовательность одинаковых символов. Что, кажется, неправильно по ТЗ. Моя критика несостоятельна, при условии поиска любой подстроки в один проход, конечно, не получится.
Офлайн
vic57 таки да тольки его еще раз нужно обработать к примеру в for - else (после else обработка)
Отредактировано AD0DE412 (Сен. 15, 2019 14:06:15)
Офлайн
FishHookу меня на пробнике ЕГЭ по информатике подобное было на прошлой неделе
По ходу пьесы, мы вообще решаем разные задачи.
Отредактировано AD0DE412 (Сен. 15, 2019 13:53:05)
Офлайн
AD0DE412что печально? на выходе список повторяющихся подстрок в строке, как вы будете обрабатывать его - ваше дело.
… в общем итог печален.
s = 'arefhjaref!!' out = [] max_len = 0 for i in range(len(s)): t = s[i:] for j in range(len(t),1,-1): s1,s2 = t[:j],t[j:] if s2.find(s1) < 0: continue if len(s1) < max_len: continue max_len = len(s1) out.append(s1) out.sort(key = lambda x: len(x),reverse=True) print(out)
Офлайн
vic57 ну что печально? мной не набрано нужных балов по пробнику егэ по информатике потому что невнимательно было прочитано ТЗ … это же не повод для радости?
(подозреваю что вы на свой счет все воспринемаете, зря)
а ваш код всяко - разно лучше моего, только не дожат
Офлайн
oldjaponec@gmail.com
Задача такая. Дана строка. Надо определить самую длинную повторяющуюся подстроку.
s = 'ntarefhjaref!!bvfhjarefantarefh' def long_substr(): n = len(s)//2 b = True while b: for i in range(len(s) - n*2 +1): if s[i:i+n] in s[i+n:]: yield s[i:i+n] b = False if n < 2: return n -= 1 print('long_substr =', list(long_substr()))
Офлайн
rami
сильно. не вникал особо в код, но по быстродействию почти С++. только я бы ф-цию с параметром сделал -
def f(string)
Офлайн
vic57Для демонстрации алгоритма это не обязательно, но согласен, что функция без передачи параметра выглядит как недоделанная.
только я бы ф-цию с параметром сделал -
def f(string)
Офлайн