Java数组排列组合

解决方案 »

  1.   

    举一个标准的in(哪两个数组)
    和out(哪一个数组)还有上面的 {x,y,z}应该是{x,y,c}?
     {a,y,z}应该是{a,y,c}?
      

  2.   

    输入 数组1{a,b,c} 数组2{x,y,z}
    输出List数组 {a,b,c} 去掉 C3/3  C0/3 排列组合 {a} {b} {c} {a,b} {a,c} {b,c}
    {x,y,z} 去掉 C3/3  C0/3 排列组合 {x} {y} {z} {x,y} {x,z} {y,z}现在要求当 数组1{a,b,c} 取a 的时候 从数组二中取{y,z}  组合成 {a,y,z} 
    现在要求当 数组1{a,b,c} 取b 的时候 从数组二中取{x,z}  组合成 {x,b,z} 
    现在要求当 数组1{a,b,c} 取c 的时候 从数组二中取{x,z}  组合成 {x,y,c} 依次类推
    现在要求当 数组1{a,b,c} 取{a,b} 的时候 从数组二中取{z}  组合成 {a,b,z}
    .....输出的List   List数组就是组合的数组.( 从数组1从取数据填充到新的数组对应的位子,其他位置由对应的数组2中取.)
      

  3.   

    排列组合算法问题:3种方法都写好
    http://zhaoshg.iteye.com/blog/1450439
      

  4.   

    不是很明白LZ的意思 今天老师刚说了ArrayList...import java.util.ArrayList;
    import java.util.List;public class ListDemo {
       public static void main(String[] args) {
      List<String> list1=new ArrayList<String>();
      List<String> list2=new ArrayList<String>();
      list1.add("a");   list2.add("x");
      list1.add("b");   list2.add("y");
      list1.add("c");   list2.add("z");
      //System.out.println(list1);//[a,b,c]
     // System.out.println(list2);//[x,y,z]
      //取list1中一个元素
      for(int i=0;i<list1.size();i++) {
      String str=list1.set(i,list2.get(i));
      System.out.println(list1);
      list1.set(i,str);
      }
      //取list1中的两个元素即只取list2中的一个元素
      for(int i=0;i<list2.size();i++) {
      String str=list2.set(i,list1.get(i));
      System.out.println(list2);
      list2.set(i,str);
      }

       }
    }
      

  5.   

    如果就是这种3x1的数组,直接换位子就好了,如果是不定个数,nx1的,要写个类来算取的元素吧