Ctrl K

Палиндром соседними обменами

Сложная
Дана строка word из строчных латинских букв. За один ход можно поменять местами две **соседние** буквы. Верните наименьшее число ходов, после которых строка станет палиндромом (читается одинаково слева направо и справа налево). Гарантируется, что из букв word палиндром составить можно.
Пример 1
word="xyxy" → 1

Меняем местами две последние буквы: "xyxy" → "xyyx". Хватает одного обмена.

Пример 2
word="mamad" → 3

Например, "mamad" → "maamd" → "maadm" → "madam": три обмена, быстрее нельзя.

Пример 3
word="noon" → 0
Ограничения
  • 1 ≤ len(word) ≤ 2000
  • word состоит из строчных латинских букв
  • Из букв word можно составить палиндром
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗеркальная нарезка строки СложнаяНаименьший код соседними обменами СложнаяНепересекающиеся длинные палиндромы СложнаяСловесная дуэль СложнаяПалиндром за один взмах ластика Лёгкая
загружаем Python…
Вход
word="xyxy"
Ожидается
1

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