假设我在数据库中有一个Product
表,其中包含id
和price
的以下属性:
Product
=======
ProductId int PRIMARY KEY
Price int
为简单起见,我将Price
作为int
数据类型。所以现在我想使用随机算法从数据库中检索n
个记录,Price
将总计固定数量m
。
例如:
因此,我将检索Product
将添加到Price
的5条100
条记录。
一个可能的结果:
ProductId Price
=====================
5 10
109 27
2081 31
139 21
331 11
======================
Sum: 100
我尝试过蛮力方法,但似乎需要很长时间才能获得100
的正确总和。有没有算法可以做到这一点?
答案 0 :(得分:2)
您的问题可以被视为Subset sum problem
。你可以在这里找到与之相关的所有信息:
如果您需要精确值,问题是NP(不能用大量数据解析),如果近似值可以,您有一些选择。