Ctrl K

Обрезка одинаковых краёв

Средняя
Дана строка text из букв a, b и c. С ней можно сколько угодно раз (в том числе ни разу) делать такой ход: - выбрать непустое начало строки, где все буквы одинаковые; - выбрать непустой конец строки, где все буквы одинаковые; - начало и конец не должны пересекаться, а буква в них должна быть одна и та же; - удалить и начало, и конец. Верните наименьшую длину, до которой можно укоротить строку.
Пример 1
text="bacab" → 1

Срезаем «b» с обоих концов, затем «a» — остаётся «c». Одну букву нельзя одновременно взять и в начало, и в конец, поэтому ответ 1.

Пример 2
text="abbba" → 0

Срезаем «a» и «a», остаётся «bbb»: берём «b» в начале и «bb» в конце — строка пустеет.

Пример 3
text="ccbacc" → 2

Срезаем «cc» и «cc», остаётся «ba»: концы разные, дальше резать нельзя.

Ограничения
  • 1 ≤ len(text) ≤ 10⁶
  • text состоит только из букв a, b и c
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный зеркальный кусок СредняяСлова в обратном порядке СредняяРовно одна правка СредняяКакая версия новее СредняяОбратный порядок слов на месте Средняя
загружаем Python…
Вход
text="bacab"
Ожидается
1

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