我想找到一个大尺寸阵列(最多1500个)的powerset的所有子集的总和。我搜索过但无法找到有效的算法。
示例:
array=[1,2,3]
答案:
{} -> 0,{1} -> 1,{2} -> 2,{3} -> 3,{1,2} -> 3,{1,3} -> 4,{2,3} -> 5,{1,2,3} -> 6
有没有一种有效的方法呢?
答案 0 :(得分:1)
有n个元素的数组有2 ^ n个子集。
每个元素都将出现在其中的一半中。
因此,所有子集的总和将是所有元素的总和乘以2 n-1 。