假设我在数据库中有一个Product
表,它具有id
和price
的以下属性
Product
=======
ProductId int PRIMARY KEY
Price int
出于简单的原因,我将Price
作为int
数据类型。所以现在,我想使用一种随机算法,从数据库中检索n
数量的记录,根据该算法,Price
将总和为固定数量的m
。
例如:
因此,我将检索5条Product
记录,这些记录将被Price
加为100
。
一个可能的结果:
ProductId Price
=====================
5 10
109 27
2081 31
139 21
331 11
======================
Sum: 100
我尝试过布鲁特力方法,但似乎需要很长时间才能得到正确的100
之和。有什么算法可以这样做吗?
发布于 2017-03-03 11:27:33
您的问题可以看作是Subset sum problem
。您可以在这里找到与其相关的所有信息:
如果你需要精确的数值,问题是NP (不能用大量的数据解决),如果近似是可以的,你有一些选择。
https://stackoverflow.com/questions/42577270
复制相似问题