pattern из строчных латинских букв и знаков ?. Каждый ? нужно заменить какой-нибудь строчной латинской буквой.
**Цена** готовой строки считается так: идём по строке слева направо и за каждую букву прибавляем, сколько раз эта же буква уже встречалась левее. Например, у строки «abab» цена 0 + 0 + 1 + 1 = 2.
Замените все ? так, чтобы цена получилась минимальной. Если таких вариантов несколько, верните наименьший в лексикографическом (алфавитном) порядке.pattern='b??b' → 'bacb'
Две буквы b уже стоят, и одна штрафная пара от них неизбежна. Знаки вопроса выгоднее всего заменить на ещё не встречавшиеся буквы: a и c. Получаем «bacb» с ценой 1; из всех вариантов с ценой 1 он наименьший по алфавиту.
pattern='?zz?' → 'azzb'
Буквы a и b ещё не встречались. Важно, что меньшую a ставим в более раннюю позицию: «azzb» меньше, чем «bzza».
pattern='kite' → 'kite'
Знаков вопроса нет — строка возвращается как есть.
len(pattern) ≤ 10⁵pattern[i] — строчная латинская буква или ?pattern='b??b'
'bacb'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 41 тест на сервере, включая скрытые.