查找数组的数组的组合



与此问题类似,但不确定如何在java中创建算法。

我有一个数组列表<char[]>preCombination =[['a'],['b','B'],['c','C']]我如何得到一个输出数组列表=[['a','b','c'],['a','b','C'],['a','B','c'],['a','B','C']

我已经尝试将这个排列代码修改为组合代码,但是,我无法进入内循环。感谢如果解释是简单的,因为我是新的编码,谢谢提前!

public static void permute(ArrayList <char[]> array,int index) {
if (index==array.size()-1) {
//System.out.println(array);
}
for (int i=index;i<array.size();i++) {
swap(array,i,index);
permute(array,index+1);
swap(array,i,index);
}
}
private static void swap(ArrayList <char[]> input,int a,int b) {
char[] temp=input.get(a);
input.set(a, input.get(b));
input.set(b, temp);
}

好吧,考虑到你提供的数组元素数量相对较少,一个三向嵌套循环就可以完成这项工作,第一个循环是针对第一行的(注意,第一行只有一个元素,所以不需要循环)对第2行进行第二个循环,然后对第3行进行第三个循环。对于元素数量较多的情况,这一点都不有效,但对于像这样的示例,最原始和最简单的格式

最新更新