我想创建一个 Java 方法,它接受一个inputArray = Object[n][]
,其中 n 可以是任何整数,并输出 n 个子数组的所有值之间可能的 n 大小组合的列表。下面是一个例子:
输入数组:(其中 Object=String 且 n=3)
String[] subarrayA = {"A0","A1","A2"};
String[] subarrayB = {"B0","B1"};
String[] subarrayC = {"C0","C1","C2","C3"};
String[3][] inputArray = {subarrayA, subarrayB, subarrayC};
期望的输出:
{A0,B0,C0},{A0,B0,C1},{A0,B0,C2},{A0,B0,C3},
{A0,B1,C0},{A0,B1,C1},{A0,B1,C2},{A0,B1,C3},
{A1,B0,C0},{A1,B0,C1},{A0,B0,C2},{A1,B0,C3},
{A1,B1,C0},{A1,B1,C1},{A1,B1,C2},{A1,B1,C3},
{A2,B0,C0},{A2,B0,C1},{A2,B0,C2},{A2,B0,C3},
{A2,B1,C0},{A2,B1,C1},{A2,B1,C2},{A2,B1,C3}
显然,我的方法中不能有一个固定的嵌套循环,因为我n
事先并不知道。所以,我猜解决它的唯一方法是通过递归方法?有什么建议吗?
PS:我知道网站上有简单的组合相关的帖子。