输入 数组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中取.)
由用户输入的
追答还是不明白楼主的意思,输出list组合,
=======================================
在要求当 数组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}
.....
=====================================
是将所有的情况输出来:
{a,b,c,d} {1,2,3,4}
:{a,2,3}{1,b,3}{1,2,c}{a1,2,3,d}
{a,b,3}{a,2,c}{1,b,c}....
{a,b,c,1}....
等等所有的情况输出来,还是:根据用户的要求取两个,三个,加入另个数组啊,等下写写。。。。
将两个数组 排列组合到一个数组集合 求java 代码
import java.util.Scanner;public class Test { private String[] arr1;private String[] arr2;public Test(){ \/\/数组长度可以随意改,但必须保证两个数组长度一样 arr1 = new String[3];arr2 = new String[3];initArray();} private void initArray(){ Scanner scanner = new Scanner(Syste...
求java实现String list[] = { "1", "2", "3" }; 的排列组合代码
for(int b=0;b<=list.length-a;b++){ \/\/这一层循环是迭代输出括号里的开头数 for(int c=b+1;c<=list.length-a+1;c++){\/\/这一层循环是第二个数 StringBuilder sb=new StringBuilder("[");sb.append(list[b]);sb.append(","+list[c]);for(int d=1;d...
java算法问题 排列组合 给定一组字符串,产生所有可能的集合
import java.util.List;public class Combinations { \/ 设有n个元素,组合数量有2的n次方种。对 0 到 2的n次方-1 中的每个数,考察其二进制位形式,位数为1代表相应元素加入 到组合,0则不加入该元素至组合。取组合方法 参数: list --- 原始数组 返回: 包含所有组合数组的数组 \/ public st...
js两个数组排列组合
js两个数组排列组合 var a = ["A","B","C"]; var b = ["1", "2","3"]; window.onload = function () { var a1 = new objPL(a);\/\/计算数组a的排列组合 var b1 = new objPL(b);\/\/计算数组b的排列组合 var str = ""; var n = 0; ...
C#语言,有两个数组,数组1中元素有1,2,3.数组2中元素有A,B,C,D。求...
这个问题可以选择用插入法群举,按照你的要求 两个数组升序排列组合,可以这么写,帮你写到一个方法里面,如下,不明白的问我好了 private void pl(){ char[] c1 = new char[] { 'a', 'b', 'c', 'd' };char[] c2 = new char[] { '1', '2', '3' };char[] cc = new char...
求一个数组元素的所有排列组合
\/\/array为要组合的数组 size为长度 firstIndex为要放在所以组合最前面的元素 result保存所有组合 每一行为一个组合 public int func(int[] array int[][] result){ \/\/所有递归的结果都保存在result中 并且最低层的组合结果保存在最后列 \/\/返回本次递归组合的个数 int size = ls;if(size== )\/...
java打印出一组数字的所有排列。
下面是个排列组合生成的算法,我电脑上正好有,NetBeans测试通过,你要1到6的数字组合,运行时就输入6。有比较详细的注释,你可以参考一下。package permutationandcombination;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class PermutationAndCombination { \/...
java 排列组合的01转换法的原理是啥啊
即C(n-1,m)当第n位为1了,然后前面(n-1)位中包括m-1个1,把这m-1个数字从最左边移动到和第n位邻接。这个子问题是C(n-1,m-1)这2步之后的状态就是将m个1移动到长n的序列的右端的状态。即C(n, m) = C(n - 1, m) + C(n-1, m-1).这个就是组合数的地推公式 ...
java排列组合问题,设计一段程序将3,5,5,8,9这几个数所有可能的随机排列...
public static void main(String[] args) { TreeSet<String> ts = new TreeSet<String>();Pattern p = Pattern.compile("\\\\d*55\\\\d*");for(int j = 35589;j<=98553;j++) { String str = String.valueOf(j);char[] ch = str.toCharArray();Arrays.sort(ch);if(String.valueOf(ch...
一个排列组合的算法 求解
dfs算法。下面是伪代码 ans[0..list.count]这是存结果的数组 dfs(int index)\/\/index是当前set对象在list集合中的序号 { if ( index=list.count ) output;\/\/此时完成枚举,输出ans中的对象。foreach(object i in list[index]){ ans[index]=i;dfs(index+1);} } 主程序中调用dfs(0)即可。