Допустим, у нас есть набор S
, который содержит несколько подмножеств:
- [a,b,c]
- [a,b]
- [c]
- [d,e,f]
- [d,f]
- [e]
Скажем также, что S содержит шесть уникальных элементов: a, b, c, d, e
и f
.
Как мы можем найти все возможные подмножества S
, которые содержат каждый из уникальных элементов S
ровно один раз?
Результат функции / метода должен быть примерно таким:
[[a,b,c], [d,e,f]];
[[a,b,c], [d,f], [e]];
[[a,b], [c], [d,e,f]];
[[a,b], [c], [d,f], [e]].
Есть ли лучшая практика или какой-либо стандартный способ добиться этого?
Буду признателен за пример псевдокода, Ruby или Erlang.