LINUX.ORG.RU

История изменений

Исправление Virtuos86, (текущая версия) :

Тред не читал.

https://play.rust-lang.org/?gist=3355aece2f3a9a51c3cca066f9bab669&version...
Уникальные элементы сам отфильтровывай, я и так притомился возюкаться.

Алгоритм честно позаимствовал из питоньего itertools: https://docs.python.org/3/library/itertools.html#itertools.permutations (любопытный, кстати, опыт в плане сравнения выразительности ЯП).

Upd.: Clippy немного ругается, но код-то не боевой.

Исправление Virtuos86, :

Тред не читал.

https://play.rust-lang.org/?gist=3355aece2f3a9a51c3cca066f9bab669&version...
Уникальные элементы сам отфильтровывай, я и так притомился возюкаться.

Алгоритм честно позаимствовал из питоньего itertools: https://docs.python.org/3/library/itertools.html#itertools.permutations (любопытный, кстати, опыт в плане сравнения выразительности ЯП).

Upd.: Clippy немного ругается, но код-то не боевой. Upd.:

let indices_len = indices.len();
                indices.swap(i, indices_len - j);
indices_len надо убрать и заменить на indices.len() — изначально я два раза хотел использовать взятие длины, чего Rust, естественно, давать не захотел.

Исправление Virtuos86, :

Тред не читал.

https://play.rust-lang.org/?gist=3355aece2f3a9a51c3cca066f9bab669&version...
Уникальные элементы сам отфильтровывай, я и так притомился возюкаться.

Алгоритм честно позаимствовал из питоньего itertools: https://docs.python.org/3/library/itertools.html#itertools.permutations (любопытный, кстати, опыт в плане сравнения выразительности ЯП).

Upd.: Clippy немного ругается, но код-то не боевой.

Исходная версия Virtuos86, :

Тред не читал.

https://play.rust-lang.org/?gist=3355aece2f3a9a51c3cca066f9bab669&version...
Уникальные элементы сам отфильтровывай, я и так притомился возюкаться.

Алгоритм честно позаимствовал из питоньего itertools: https://docs.python.org/3/library/itertools.html#itertools.permutations (любопытный, кстати, опыт в плане сравнения выразительности ЯП).