Как найти самую длинную общую подстроку с помощью C++ ⇐ C++
-
Anonymous
Как найти самую длинную общую подстроку с помощью C++
Я искал в Интернете реализацию C++ Longest Common Substring, но не нашел подходящей. Мне нужен алгоритм LCS, который возвращает саму подстроку, так что это не просто LCS.
Однако мне было интересно, как я могу сделать это между несколькими строками.
Моя идея заключалась в том, чтобы проверить самую длинную строку между двумя строками, а затем проверить все остальные, но это очень медленный процесс, который требует управления множеством длинных строк в памяти, что делает мою программу довольно медленной.
Есть идеи, как это можно ускорить для нескольких строк? Спасибо.
Важное изменение Одна из переменных, которые мне даны, определяет количество строк, в которых должна находиться самая длинная общая подстрока, поэтому мне можно дать 10 строк и найти LCS для них всех (K = 10) или LCS для 4 из них, но мне не говорят какие 4, мне нужно найти 4 лучших.
Я искал в Интернете реализацию C++ Longest Common Substring, но не нашел подходящей. Мне нужен алгоритм LCS, который возвращает саму подстроку, так что это не просто LCS.
Однако мне было интересно, как я могу сделать это между несколькими строками.
Моя идея заключалась в том, чтобы проверить самую длинную строку между двумя строками, а затем проверить все остальные, но это очень медленный процесс, который требует управления множеством длинных строк в памяти, что делает мою программу довольно медленной.
Есть идеи, как это можно ускорить для нескольких строк? Спасибо.
Важное изменение Одна из переменных, которые мне даны, определяет количество строк, в которых должна находиться самая длинная общая подстрока, поэтому мне можно дать 10 строк и найти LCS для них всех (K = 10) или LCS для 4 из них, но мне не говорят какие 4, мне нужно найти 4 лучших.
Мобильная версия