Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
def prefix(s):
v = [0]*len(s)
i = 1
for i in xrange(1,len(s)):
k = v[i-1]
...
else к циклам типа for в Python. Примитивный алгоритм можно записать без дополнительной переменной success:index = -1
for i in xrange(len(haystack)-len(needle)+1):
for j in xrange(len(needle)):
if needle[j]<>haystack[i+j]:
break
else:
index = i
break
print index
Поиск подстроки. Алгоритм Кнута–Морриса-Пратта