Поиск всех перестановок строки осуществляется с помощью известного алгоритма Steinhaus-Johnson-Trotter. Но если строка содержит повторяющиеся символы, такие как
AABB,
то возможные уникальные комбинации будет 4!/(2! * 2!) = 6Поиск всех уникальных перестановок строки без генерации дубликатов
Одним из способов достижения этого является то, что мы можем хранить его в массиве или так, а затем удалите дубликаты.
Есть ли более простой способ изменить алгоритм Джонсона, чтобы мы никогда не генерировали дублированные перестановки. (Наиболее эффективным способом)
Какое определение перестановки? Является ли BA допустимой перестановкой AABB? – ElKamina
no BA не является допустимой перестановкой AABB. – titan
Пермутация - это одна последовательность перетасовки символов в строке. Для строки длины n и уникальных символов мы имеем общее число n! возможные уникальные перестановки – titan