Gere todos os subconjuntos “únicos” de um conjunto (não um conjunto de energia)
Digamos que temos um SetS
que contém alguns subconjuntos:
- [a,b,c]
- [a,b]
- [c]
- [d,e,f]
- [d,f]
- [e]
Digamos também que S contém seis elementos únicos:a, b, c, d, e
ef
.
Como podemos encontrar todos os subconjuntos possíveis deS
que contêm cada um dos elementos exclusivos deS
exatamente uma vez?
O resultado da função / método deve ser algo assim:
[[a,b,c], [d,e,f]];
[[a,b,c], [d,f], [e]];
[[a,b], [c], [d,e,f]];
[[a,b], [c], [d,f], [e]].
Existe alguma prática recomendada ou alguma maneira padrão de conseguir isso?
Seria grato por um exemplo de pseudo-código, Ruby ou Erlan