【发布时间】:2016-03-09 20:57:32
【问题描述】:
我有 N 个列表,其中包含不同数量的对象,每个列表都有 X 个所需的不同值。
一个简单的例子:
List1 = [ 1,2,3,4 ] : 2
List2 = [ 2,3,4 ] : 1
List3 = [ 1,2,4 ] : 1
这里的一种解决方案是从 List1 中选择 1 和 2,从 List2 中选择 3,从 List3 中选择 4
但如果问题看起来像这样,就没有解决办法
List1 = [ 1,2,3,4 ] : 2
List2 = [ 2,3,4 ] : 2
List3 = [ 1,2,4 ] : 1
因此,解决此问题的蛮力解决方案是从第一个列表中选择所需数量的对象,然后从第二个列表中选择所需数量的对象,其中所选对象不能在前一个列表中。如果失败,请从第一个列表中选择其他对象,依此类推。
然而,这并不高效,如果有的话,我可能会在找到解决方案之前尝试所有组合。
那么,有没有其他方法可以解决这个问题?
【问题讨论】:
标签: algorithm