生成项目的所有唯一组合

Red*_*ddy 4 java algorithm combinations unique

我试图生成所有可能的独特项目组合.

Ex: item1, item2, item3

Combinations: 
   item1+item2+item3
   item1+item2
   item1+item3
   item2+item3
   item1
   item2
   item3
Run Code Online (Sandbox Code Playgroud)

我无法知道如何解决这个问题?

for(int i=0;i<size;i++){
   for(int j=i+1;j<size;j++){
       System.out.println(list.item(i)+list.item(j));
   }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码肯定适用于两个元素的所有独特组合.但不是3元素对和更多..

zmb*_*mbq 7

如果您有N个项目,则从1到2 ^ N-1计数.每个数字代表一个组合,如下所示:如果设置了位0(最低有效位),则item1在组合中.如果设置了位1,则item2在组合中,依此类推.

如果您不想要1项组合,请从3开始计数,并忽略2的幂(4,8,16等)的所有组合.