Нахождение всех уникальных перестановок строки без генерации дубликатов

Поиск всех перестановок строки осуществляется с помощью хорошо известного алгоритма Штайнхауса – Джонсона – Троттера. Но если строка содержит повторяющиеся символы, такие как
AABB,
тогда возможные уникальные комбинации будут 4! / (2! * 2!) = 6

Одним из способов достижения этого является то, что мы можем сохранить его в массиве или около того, а затем удалить дубликаты.

Есть ли более простой способ изменить алгоритм Джонсона, чтобы мы никогда не генерировали дублирующиеся перестановки. (Наиболее эффективным способом)

Ответы на вопрос(5)

Ваш ответ на вопрос