我正在构建一个匹配交易的程序。以下是我目前面临的问题的解读。我需要一些关于算法的帮助。算法问题:最佳匹配子集
给定两组具有相似属性(交易日期,账户,符号)的交易A和B,我需要在A和B内找到交易a的子集,其中sum(a)最接近总和(b) 。这里sum()是该子集的特定属性(净钱)的总和。需要最接近的匹配的原因是,如果我们没有得到完美的匹配(理想情况),我们希望下一个最接近的匹配。注意:sum(a)可以大于或小于sum(b)。
我明显想要做到这一点,而不使用强制方法来生成A和B的所有组合并进行比较。
我觉得这可以用一些动态编程方法来完成,但我无法提出任何具体的东西。将不胜感激任何帮助。
符号的最知名的样品确实大快建设:来让a.netMoney只是'了'。因此,给定A = {a,e,i}和B = {b,c},蛮力不仅仅是寻找(abs(a - b),abs(a - c) b),...abs(i-c)),但是(X-Y)的左边可以是A的单个元素的每个和,即:((a + e)-b)...也是? – 2011-03-21 02:11:23
是的。那就对了。 – user668661 2011-03-21 02:27:29