のは、我々はいくつかのサブセットが含まれている設定S
があるとしましょう:a, b, c, d, e
とf
:セット(ない冪)の全ての「ユニーク」サブセットを生成
- [a,b,c]
- [a,b]
- [c]
- [d,e,f]
- [d,f]
- [e]
はのはまたSは、6つのユニークな要素が含まれていることを言ってみましょう。
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の例に感謝します。
素晴らしい作品です!しかし、私はそれが等しいか10以上の項目のためにそれがハングすることがわかった。どんな考え?実行中のパーティション([1,2,3,4,5,6,7,8,9,10])はルビーをハングします – mbdev
関連するコレクションはかなり速く大きくなりました - 10個のアイテム配列の115975個のパーティションがありますが、私のマシン上で数秒。あなたがirbでこれを実行しているなら、それは結果を表示しようとします - 良い考えではありません! –
RubyMineからrspecの下で走っている間に、それは実際にレールsにハングアップします。私はライオンを走らせているMacにいる。私の問題は実際これよりも専門的なので、ここに投稿しました:http://stackoverflow.com/questions/9732944/get-all-possible-subsets-preserving-order – mbdev