Java 创建数字组合

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

任务是找到数{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 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;
 }