小编It'*_*sMe的帖子

在Java中生成几个列表的所有排列

我有n清单,例如:

L_1 = [a_11, a_12, ...]
L_2 = [a_21, a_22, ...]
...
L_n = [a_n1, a_n2, ...]
Run Code Online (Sandbox Code Playgroud)

其中i次列表具有k_i的元素。现在,我想生成所有n-elements列表,其中ith元素来自L_i,我的意思是:

[a_11, a_21, ..., a_n1]
[a_11, a_21, ..., a_n2]
...
[a_11, a_22, ..., a_n1]
[a_11, a_22, ..., a_n2]
...
[a_12, a_21, ..., a_n1]
[a_12, a_21, ..., a_n2]
...
[a_12, a_22, ..., a_n1]
[a_12, a_22, ..., a_n2]
...
Run Code Online (Sandbox Code Playgroud)

列表总数应等于k_1*k_2*...k_n。您能描述这种算法的伪代码还是使用Java代码?当列表数量被硬编码时,我可以使用嵌套的for循环来完成此操作,但是当n在运行时可自定义时,我将被完全阻止。

java math permutation pseudocode discrete-mathematics

0
推荐指数
1
解决办法
1286
查看次数