1

たとえば、次のようなサイズ 3 の 2 つの配列があります。

[1,2,3] and [7,8,9]

そして、サイズ N の 1 つの配列にそれらを配置する場合、考えられるすべての順列を把握する必要があります。すべてを含める必要はありません (配列が小さすぎるため、明らかにそれらを含めることはできません)。

規則: 各数値は、新しい順列の独自のインデックスにある必要があります (したがって、数値 1 はインデックス 0 にあり、新しい順列のインデックス 0 にある必要があります)。注: 数字は常に区別されます

したがって、解決策は次のようになります(これらの配列の順序は関係ありません):

[1,2,3]
[1,8,3]
[1,2,9]
[1,8,9]
[1,2,9]
[7,2,3]
[7,8,3]
[7,8,9]
[7,2,9]

しかし今、これを任意の数の配列に対してプログラムする必要があります。それらは常に同じサイズになります。

ヒントはありますか?

4

1 に答える 1

1

各インデックスには2つの選択肢があります。したがって、2 ^ 3=8の順列があります。ソリューション:

results := [[]]
for a, b in A, B
    results :=
        results.map(result => a + result) +
        results.map(result => b + result)

ここで、+は連結を示します

于 2012-10-14T04:48:56.977 に答える