比方说,我有2组数字:如何通过Java中的任意数字组创建笛卡尔积?
{1, 2, 3},
{4, 5}
我想创建的算法(在Java中)输出以下6种组合:
1,4
1,5
2,4
2,5
3,4
3,5
可以有任意数量的的团体和任意数量的成员在每个组内。所以在上面的例子中,有两个组,第一组有三个成员,第二组有两个成员。另一个例子是下面的(3组,在第一组3名成员和2个构件在第二组和第三组):
{1, 2, 3},
{4, 5},
{6, 7}
这将产生以下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
如何可以做这在Java中?我正在尝试使用递归,我已经看了一个similar question,但我仍然缺乏。谢谢您的帮助! (P.S.这不是一个家庭作业)
您在Java中寻找笛卡尔积,可能是[Java中任意集合的笛卡尔积]的副本(http://stackoverflow.com/questions/714108/cartesian-product-of -arbitrary-set-in-java) – 2012-04-21 19:42:50