Java 创建数字组合
任务是找到数{1,2,3…N}的排列。你的代码有什么问题?现在我发现,如何找到所有的排列,但是测试它们并不快。Java 创建数字组合,java,combinations,combinatorics,Java,Combinations,Combinatorics,任务是找到数{1,2,3…N}的排列。你的代码有什么问题?现在我发现,如何找到所有的排列,但是测试它们并不快。 12 3 6 1 9 11 8 5 2 4 7 10 3 11 8 5 2 4 6 9 12 7 10 1 3 6 9 11 8 5 2 4 12 7 10 1 4 12 7 10 1 3 6 9 11 8 5 2 4 7 10 12 3 6 1 9 11 8 5 2 4 6 9 1
12 3 6 1 9 11 8 5 2 4 7 10
3 11 8 5 2 4 6 9 12 7 10 1
3 6 9 11 8 5 2 4 12 7 10 1
4 12 7 10 1 3 6 9 11 8 5 2
4 7 10 12 3 6 1 9 11 8 5 2
4 6 9 12 7 10 1 3 11 8 5 2
6 9 12 7 10 1 3 11 8 5 2 4
9 11 8 5 2 10 12 3 6 1 4 7
11 8 5 2 10 12 3 6 1 4 7 9
11 8 5 2 4 12 7 10 1 3 6 9
11 8 5 2 4 7 10 12 3 6 1 9
12 3 6 1 9 11 8 5 2 4 7 10
12 3 6 1 4 7 9 11 8 5 2 10
boolean Check(int[] in, int[] de){
for(int i=0; i<de.length;i++){
if(in[0]+de[i]==in[1]){
int[] in2=new int[in.length-1];
if(in2.length==1){
return true; }
for(int j=1; j<in.length;j++){
in2[j-1]=in[j];
}
int[] de2=new int[de.length-1];
for(int j=0; j<de.length;j++){
if(de[j]!=de[i]){
de2[j]=de[j];}}
Check(in2,de2);
return false;
}
return false;
}
return false;
}