Ctrl K

Развести слова по алфавиту

Средняя
Даны две строки first и second из строчных латинских букв. За одну правку можно заменить любую букву в любой из строк на любую другую строчную букву. Нужно добиться хотя бы одного из трёх: - каждая буква first строго раньше по алфавиту, чем каждая буква second; - каждая буква second строго раньше по алфавиту, чем каждая буква first; - обе строки целиком состоят из одной и той же буквы. Верните наименьшее число правок.
Пример 1
first="bad", second="fee" → 0

Все буквы first (a, b, d) уже строго меньше всех букв second (e, f). Менять ничего не надо.

Пример 2
first="zoo", second="pop" → 2

Сделаем second «младшим» словом: его буквы p, o, p меньше z. Если заменить обе o в first на z (2 правки), получится "zzz", и каждая буква second окажется раньше каждой буквы first. Дешевле не выйдет, ответ 2.

Пример 3
first="k", second="k" → 0

Обе строки уже состоят из одной и той же буквы.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 10⁵
  • Строки состоят только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКуски с одинаковыми краями СредняяФрагменты с целым средним весом СредняяОдинаковые края на отрезках СредняяПиковая высота штоков насоса СложнаяПодсказка к угадыванию кода Средняя
загружаем Python…
Вход
first="bad", second="fee"
Ожидается
0

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