セットに対して異なるサイズの一意のコレクションの組み合わせのリストを生成するのに苦労しています。たとえば、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
通常のブルート フォースによるアプローチが問題の最も簡単な解決策であることはわかっていますが、値が大きい場合、これは非常に非効率的です。
この問題を解決するためのより効率的な方法を探しています。どんな良い解決策も大いに役立ちます。
前もって感謝します、ニール