Всем привет.
В этой статье я расскажу вам как можно найти общую подстроку нескольких строк при помощи суффиксного дерева на Python. Для этого мне понадобится библиотека suffix-trees. Я использую версию 0.2.3. Сделать это как то проще я думаю у вас не получится, так как для решения этой задачи необходимо всего-то несколько строк кода:
1 2 3 4 5 |
from suffix_trees.STree import STree # подключаем библиотеку lst = input().split(' ') # записываем введённые данные в массив. Формат данных: строка_1 строка_2 ... строка_n st = STree(lst) # строим суффиксное дерево для элементов массива print(st.lcs()) # выводим максимальную общую подстроку |
По моему мнению работа с суффиксными деревьями достаточно сложная и я не советую вам писать алгоритмы для работы с ними самим. Это поможет вам избежать ошибок. Старайтесь всегда минимизировать процесс написания кода, предварительно поискав различные библиотеки или инструменты для решения требуемой задачи.
Спасибо за внимание. Если данная статья вам помогла, напишите об этом в комментарии. Мне будет приятно )