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

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

Сообщение Гость »


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

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

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

Спасибо!
Ответить

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

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

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

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

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