Есть две строки анаграммы S и P. Есть две основные операции:
- Поменяйте местами две соседние буквы, например, поменяйте местами «A» и «C» в BCCAB, стоимость равна 1.
- Поменять местами первую букву и последнюю букву в строке, стоимость равна 1.
Вопрос: Разработайте эффективный алгоритм, минимизирующий стоимость замены S на P.
Я попробовал жадный алгоритм, но нашел встречные примеры и считаю его неверным. Я знаю известное расстояние редактирования задачи DP, но я не получил формулу для этой.
Кто-нибудь может помочь? Идея и псевдокод были бы замечательными.