История изменений
Исправление 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 (любопытный, кстати, опыт в плане сравнения выразительности ЯП).