AD0DE412для этого список и применен
Нужна помощь по регулярным выражением re
эээ … у вас … вы исходите из предположения что самый длинный элемент один (что не всегда так)
AD0DE412для этого список и применен
Нужна помощь по регулярным выражением re
эээ … у вас … вы исходите из предположения что самый длинный элемент один (что не всегда так)
FishHookу меня на пробнике ЕГЭ по информатике подобное было на прошлой неделе
По ходу пьесы, мы вообще решаем разные задачи.
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)
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()))
vic57Для демонстрации алгоритма это не обязательно, но согласен, что функция без передачи параметра выглядит как недоделанная.
только я бы ф-цию с параметром сделал -
def f(string)