Ctrl K

По бусине каждого цвета

Средняя
На нить нанизаны бусины, цвет каждой обозначен строчной латинской буквой; строка beads описывает нить слева направо. Мастер хочет снять лишние бусины так, чтобы на нити осталось ровно по одной бусине каждого цвета, который на ней встречался. Переставлять бусины нельзя — оставшиеся сохраняют исходный порядок. Среди всех возможных результатов верните строку, наименьшую в лексикографическом (словарном) порядке.
Пример 1
beads="dbdab" → 'bda'

Цвета — a, b, d. Начать с a нельзя: после единственной a нет ни одной d. Зато можно начать с b (позиция 1), затем взять d (позиция 2) и a: получаем bda.

Пример 2
beads="zyxzyx" → 'xzy'

Можно начать с первой x (позиция 2): после неё ещё есть z и y. Получаем xzy.

Пример 3
beads="mmm" → 'm'
Ограничения
  • 1 ≤ len(beads) ≤ 1000
  • beads состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКаждая буква по разу СредняяВычеркнуть цифры ради минимума СредняяНаименьшая выборка с обязательной буквой СложнаяНаименьшая последовательность по стрелкам СредняяПерестроить середину шеренги Средняя
загружаем Python…
Вход
beads="dbdab"
Ожидается
'bda'

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