Есть текст. Необходимо найти наиболее встречающиеся подстроки в нем.
Например:
Карл у Клары украл кораллы, а Клара у Карла украла кларнет.
Здесь например должно выдать:
- к (Карл, Клары, уКрал, Кораллы, Клара, Карла, уКрала, Кларнет)
- а (кАрл, укрАл, корАллы, клАра, кАрла, укрАла, клАрнет),
- ...
- клар (Клары, Клара, кларнет),
- карл (Карл, Карла),
- крал (украл, украла),
- украл (Украл, Украла)
С алгоритмами на Вы, но предполагаю что решение O(n
2) нежелательно.
Очень уж не хочется придумывать свой велосипед.
Буду очень благодарен за помощь!