问题:有三个数组a1 = ["i1","i2","i3","i4"...."ix"]; x为大于2的整数a2 = ["k1","k2","k3","k4"...."ky"]; y为大于2的整数a3 = ["m1","m2","m3","m4"...."mz"]; z为大于2的整数从每个数组中抽取两个项,每个项只能用一次,组成长度为6的数组,比如:["i1","i2","m1","m2","k1","k2"],找出所有可能的数组。要求:任意两个数组之间相同的项小于等于2。比如l1 = ["i1","i2","m1","m2","k1","k2"];l2=["i1","i2","m3","m4","k5","k6"];这两个数组相同项有两个,为"i1"和"i2"。再比如l1 = ["i1","i2","m1","m2","k1","k2"];l2=["i1","i2","m1","m4","k5","k6"];这两个数组相同项数量为3,为 "i1"、"i2"和"m1"。
2 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
白衣染霜花
TA贡献1796条经验 获得超10个赞
以下为Java伪代码
使用三阶循环,剔除不满足条件(a == b && b == c)的数据
for(int a=0; a<= La; a++) { for(int b=0; b<=Lb; b++) { for(int c=0; c<=Lc; c++) { if( a == b && b ==c ){ continue; }else { list.add( new Object(Aa, Bb, Cc) ); } } } }
添加回答
举报
0/150
提交
取消