Изменения
Нет описания правки
===Псевдокод===
Алгоритм принимает на вход строку с добавленным специальным символом <tex>\$</tex> и суффиксный массив этой строки, и возвращает массив <tex>lcp</tex>, такой что <tex>lcp[i]</tex> содержит длину наибольшего общего префикса строк <tex>i</tex> и <tex>i-1</tex> в суффиксном массиве.
'''int[]''' buildLCP(str: '''string''', suf: '''int[]''') <font color=green> // str {{---}} исходная строка с добавленным специальным символом $ </font> <font color=green> // suf[] {{---}} суффиксный массив строки str </font>
'''int''' len <tex>=</tex> str.length
'''int[len]''' lcp
'''int[len]''' pos <font color=green> // pos[] {{---}} массив, обратный массиву suf </font>
'''for''' i = 0 '''to''' len - 1
pos[suf[i]] <tex>=</tex> i