Кратчайшая суперстрока

Строки Экстремальная
Дан список различных строк words. Найдите строку МИНИМАЛЬНОЙ длины, содержащую каждую строку из words как подстроку (строки можно перекрывать - например, "abc" и "bcd" дают суперстроку "abcd" вместо "abcbcd"). Если оптимальных суперстрок несколько, верните ЛЮБУЮ - проверяется, что каждое исходное слово входит как подстрока и длина результата минимальна. Классическое решение - битмаска-ДП по перестановкам слов с максимизацией суммарного перекрытия соседних слов.
Сигнатура функции
shortest_superstring(words: list[str]) -> str
Примеры
ВходОжидаемый результат
[["catg", "ctaagt", "gcta", "ttca", "atgcatc"]]"gctaagttcatgcatc"
[["alex", "loves", "leetcode"]]"leetcodelovesalex"
1решили
1пытались
100%успешность
Войдите, чтобы решить →