Генерация всех перестановок без дубликатов путем вращенияPython

Программы на Python
Ответить
Anonymous
 Генерация всех перестановок без дубликатов путем вращения

Сообщение Anonymous »

Я пытаюсь сгенерировать все перестановки списка с условием отсутствия дубликатов при вращении. Итак, если бы я делал это для списков длиной 3, выполняя обычные перестановки, я бы получил как [1, 2, 3], так и [2, 3, 1]. Однако [2, 3, 1] — это всего лишь ротация [1, 2, 3], поэтому я не хочу его включать.

Я мог бы сгенерировать все перестановки, пройтись по циклу и удалить элементы, нарушающие это ограничение, но это кажется расточительным.

Как я могу это сделать, учитывая перестановки, вместо того, чтобы рассмотреть все перестановки, а затем удалить повторяющиеся?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/486 ... y-rotation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»