Ctrl K

Замкнутые куски строки

Сложная
Назовём непустую подстроку (непрерывный кусок) строки text **замкнутой**, если для каждой буквы, которая в ней встречается, в неё попадают и все остальные вхождения этой буквы в text. Выберите как можно больше непересекающихся замкнутых подстрок. Если таких наборов несколько, возьмите тот, у которого суммарная длина подстрок наименьшая, — он всегда единственный. Верните выбранные подстроки в любом порядке.
Пример 1
text="xyxzwwz" → ['y', 'ww']

Замкнутые куски здесь: «xyx», «y», «zwwz», «ww» и вся строка. Больше всего непересекающихся даёт выбор «y» и «ww» — их два, и суммарная длина у них наименьшая.

Пример 2
text="abab" → ['abab']

Кусок с буквой a обязан захватить и обе b, поэтому замкнут только вся строка.

Пример 3
text="qrrsq" → ['rr', 's']
Ограничения
  • 1 ≤ len(text) ≤ 10⁵
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодходит ли строка под шаблон СложнаяОдинаковые буквы на расстоянии СложнаяДовести пароль до надёжного СложнаяРазличимые сокращения слов СложнаяЗеркальная нарезка строки Сложная
загружаем Python…
Вход
text="xyxzwwz"
Ожидается
['y', 'ww']

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