我很难为一组生成不同大小的唯一集合组合列表,例如,其中 n=6 [变量]
set = {2,3,4,5,6,7}
我需要像这样使用javascript(有序集合)为上述集合生成所有唯一组合
6C1  +  6C2  +  6C3  +   6C4   +   6C5   +   6C6
2       2,3    2,3,4   2,3,4,5  2,3,4,5,6  2,3,4,5,6,7
3       2,4    2,3,5   2,3,4,6  2,3,4,5,7 
4       2,5    2,3,6   2,3,4,7  
5       2,6    2,3,7            2,4,5,6,7
        2,7            2,4,5,6  
.              2,4,5   2,4,5,7  3,4,5,6,7
.       3,4    2,4,6            .
8       3,5    2,4,7   2,5,6,7  .
        3,6                     
        3,7    2,5,6   3,4,5,6 
               2,5,7   3,4,5,7
        4,5              
        4,6    2,6,7   3,5,6,7
        4,7    
               3,4,5   .
        5,6    3,4,6   .
        5,7    3,4,7   .
        .      
        .      3,5,6    
        6,7    3,5,7   4,5,6,7 
               3,6,7
               .       
               .       
               5,6,7 
现在,当我需要将这些值中的每一个分配给字母顺序时,就会出现复杂情况。顺序是先是小写字母 a、b、c..,然后是大写字母 A、B、C、..,然后是 aA、aB、aC等等
a=2     h=2,3    o=2,3,4   I=2,3,4,5  2,3,4,5,6  2,3,4,5,6,7
b=3     i=2,4    p=2,3,5   J=2,3,4,6  2,3,4,5,7 
c=4     j=2,5    q=2,3,6   K=2,3,4,7  
d=5     k=2,6    r=2,3,7              2,4,5,6,7
        l=2,7              L=2,4,5,6  
.                s=2,4,5   M=2,4,5,7  3,4,5,6,7
.       m=3,4    t=2,4,6            .
g=8     n=3,5    u=2,4,7   N=2,5,6,7  .
        o=3,6                     
        p=3,7    v=2,5,6   O=3,4,5,6 
                 w=2,5,7   P=3,4,5,7
        q=4,5              
        r=4,6    x=2,6,7   Q=3,5,6,7
        s=4,7    
                 y=3,4,5   .
        t=5,6    z=3,4,6   .
        u=5,7    A=3,4,7   .
          .      
          .      B=3,5,6    
          6,7    C=3,5,7   W=4,5,6,7 
                 D=3,6,7
                 .       
                 .       
                 H=5,6,7 
我知道正常的蛮力方法将是解决问题的最简单方法,但对于较大的值,这将是非常低效的。
我正在寻找一种更有效的方法来解决这个问题。任何好的解决方案都会有很大帮助。
提前致谢, 尼尔