Допустим, у нас есть набор 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.