例如我有一个字母列表: " a,b,c,a,d,a,a,b" 如何找到可以由这些字母组成的多种组合?任何长度。组合如" ab"和" ba"," aab"和" aba" - 不是唯一的。
答案 0 :(得分:1)
在给定集合中存在第i个元素的C(i)条目。 那么可能的子集数(不计空单)是
M = (С[1] + 1) * (C[2] + 1) * ...* (C[N] + 1) - 1 // product of these values
对于您的示例(4 x a,2 x b,1 x c,1 x d)
M = (4+1)*(2+1)*(1+1)*(1+1)-1 = 5*3*2*2-1 = 59