为了账号安全,请及时绑定邮箱和手机立即绑定

一个排列组合算法问题

一个排列组合算法问题

守候你守候我 2019-03-02 09:49:05
问题:有三个数组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 回答

?
白衣染霜花

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) );
            }
        }
    }
}


查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信