304
правки
Изменения
→Псевдокод
j = <tex>\pi</tex>[i - 1]
'''while''' j > 0 && s[i] != s[j + 1]
j = <tex>\pi</tex>[j]
'''if''' s[i] == s[j + 1]
j++
<tex>\pi</tex>[i] = j
'''return''' <tex>\pi</tex>
===Время работы===
В итоге мы получили алгоритм выполняющий <tex>O(n)</tex> итераций за <tex>O(1)</tex>, что дает нам итоговое <tex>O(n)</tex>.