小编gom*_*sha的帖子

如何在Java中通过任意数字组创建笛卡尔积?

假设我有两组数字:

{1, 2, 3},
{4, 5}
Run Code Online (Sandbox Code Playgroud)

我想创建一个输出以下6种组合的算法(在Java中):

1,4
1,5
2,4
2,5
3,4
3,5
Run Code Online (Sandbox Code Playgroud)

每组中可以有任意数量的组和任意数量的成员.因此在上面的例子中,有2组,第一组有3个成员,第二组有2个成员.另一个例子如下(3组,第一组3名成员,第2组和第3组2名成员):

{1, 2, 3},
{4, 5},
{6, 7}
Run Code Online (Sandbox Code Playgroud)

这将产生以下12种组合:

1,4,6
1,4,7
1,5,6
1,5,7

2,4,6
2,4,7
2,5,6
2,5,7

3,4,6
3,4,7
3,5,6
3,5,7
Run Code Online (Sandbox Code Playgroud)

我怎么能用Java做到这一点?我正在尝试使用递归,我已经看了一个类似的问题,但我仍然很短.谢谢您的帮助!(PS这不是作业作业)

java algorithm recursion cartesian-product

11
推荐指数
3
解决办法
9729
查看次数

标签 统计

algorithm ×1

cartesian-product ×1

java ×1

recursion ×1