Ctrl K

Самая короткая строка с тремя словами

Средняя
Даны три строки first, second и third. Постройте строку минимальной длины, в которой каждая из трёх встречается как подстрока (непрерывный кусок). Если таких строк минимальной длины несколько, верните ту, что раньше остальных по алфавиту (лексикографически наименьшую). Строки могут перекрываться: например, "cat" и "tea" умещаются в "catea", а строку, которая уже целиком лежит внутри другой, отдельно добавлять не нужно.
Пример 1
first="cat", second="tea", third="eat" → 'cateat'

"cat" и "tea" делят букву t — получается "catea"; дописав t, получаем "cateat", где есть и "eat". Короче 6 букв ничего не подходит.

Пример 2
first="ab", second="b", third="ba" → 'aba'

"aba" содержит все три строки, а короче 3 букв ничего не подойдёт: "ba" и "ab" не уместить в две буквы.

Пример 3
first="z", second="y", third="x" → 'xyz'

Общих букв нет, подходит любая перестановка трёх букв; лексикографически наименьшая — "xyz".

Ограничения
  • 1 ≤ len(first), len(second), len(third) ≤ 100
  • Строки состоят только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСтереть цифры до кратного 25 СредняяУзор, вплетённый несколько раз СложнаяВычеркнуть цифру с выгодой ЛёгкаяСамое большое число из кусков СредняяКаждая буква по разу Средняя
загружаем Python…
Вход
first="cat", second="tea", third="eat"
Ожидается
'cateat'

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.