2016-03-26 22 views
-4

たとえば、私は文字のリストを持っています: "a、b、c、a、d、a、a、b" これで構成できる組み合わせをいくつ見つけることができますか手紙?任意の長さ。 "ab"や "ba"、 "aab"、 "aba"などの組み合わせは一意ではありません。ユニークな組み合わせの数

+1

は、私たちがどのようにあなたを知っているような何かを試してみてください失敗しました – naomik

+1

これのための公式があります。 2^n - 1ここで、nはセット内の要素の数です。だから、あなたが10エントリの文字のリストを持っているなら、2^n - 1 = 2^10 - 1 = 1024 - 1 = 1023。これは空集合を含まないpowersetになります。 https://en.wikipedia.org/wiki/Power_setを参照してください –

+0

ヒープのアルゴリズムはあなたに出発点を与えるでしょうhttps://en.wikipedia.org/wiki/Heap%27s_algorithm – db579

答えて

1

与えられた集合にi番目の要素のC(i)個の要素があります。 そして、可能なサブセット(空のものをカウントしない)の数はあなた例えば

M = (С[1] + 1) * (C[2] + 1) * ...* (C[N] + 1) - 1 // product of these values 

である(4 XA、2 XB、1つのXC、1 XD)

M = (4+1)*(2+1)*(1+1)*(1+1)-1 = 5*3*2*2-1 = 59 
関連する問題