Алгоритм и/или реализация python для получения минимального списка суффикса префикса списка

63
6

Я пытаюсь найти алгоритм, который со списком слов дает минимальный список префикса и суффикса, так что каждое слово является конкатенацией префикса и суффикса.

ex:

[banano, ananas, applenas, appleno, neo, neas]

=> [bana,anan,e, apple] [as no]

Это возможно?

спросил(а) 2021-01-19T16:25:01+03:00 6 месяцев назад
1
Решение
100

Решение не определено однозначно. Например, для языка [aa, ab, bb] решение может быть либо [a, b] [a, b], либо [aa, ab, bb] и пустой строкой.

Проблема может быть понята как экземпляр проблемы с минимальной строкой (просто предположим, что каждая строка начинается с обязательного символа начала строки и заканчивается другим обязательным символом конечной строки. Разрешенный словарь покрытия будет состоять из всех префиксов и все суффиксы всех слов на языке ввода.

Общая проблема с обложкой строки NP-hard, но как только вы накладываете правило (здесь подразумевается появление символов начала и конца строки), только фиксированное максимальное количество строк (здесь, два) может охватывать любые данная входная строка становится полиномиально разрешимой.

Ниже приведена C++ реализация решателя минимальных проблем с обложкой строки.

ответил(а) 2021-01-19T16:25:01+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема