How to iteratively generate k elements subsets from a set of size n in java?

后端 未结 7 1804
忘掉有多难
忘掉有多难 2020-11-29 09:14

I\'m working on a puzzle that involves analyzing all size k subsets and figuring out which one is optimal. I wrote a solution that works when the number of subsets is small,

7条回答
  •  不知归路
    2020-11-29 09:49

    This solution worked for me:

     private static void findSubsets(int array[])
        {
          int numOfSubsets = 1 << array.length; 
    
          for(int i = 0; i < numOfSubsets; i++)
         {
            int pos = array.length - 1;
           int bitmask = i;
    
           System.out.print("{");
           while(bitmask > 0)
           {
            if((bitmask & 1) == 1)
             System.out.print(array[pos]+",");
            bitmask >>= 1;
            pos--;
           }
           System.out.print("}");
         }
        }
    

提交回复
热议问题