Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
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
Поиск подстроки. Алгоритм Кнута–Морриса-Пратта