问题如下:
假设每个参数有两个属性值,例如:
参数A(5,7)
参数B(7,9)
参数C(4,10)
参数D(12,17)
现在有一个门槛值E,求第一个参数之和大于门槛值,且小于门槛值2倍的情况下,同时第二个参数之和最小的组合。
比如门槛值E为10。
那么门槛区间为10~20。
那么满足门槛区间值要求的组合有:
A+B+C(16),A+B(12),A+D(17),B+C(11),B+D(19), C+D(16),D(12) ,共有7个组合。
对应的第二个参数值之和为:
26(A+B+C),16(A+B),24(A+D),19(B+C),26(B+D),27(C+D), 17(D),这里面第二个组合A+B的第二个参数和最小(16)。
所以应该筛选输出A+B这对组合结果(即12,16)以及组合组成(即A+B)。
之前尝试用数组操作的方式解决,但是发现在数组中如果出现重复数字,例如A+B组合为12,D也为12,即无法识别该数字的组合来源。
所以现在没有解决思路了,想看下各位有没有什么思路。谢谢!