我有一组N
数字,每个数字都有一些成本,问题是选择所有可能的数字集作为一个列表,使得它们的乘积小于某个数字M
,根据成本总和进行排序。
例如:- 数字集是
(number, costOfThatNumber) : {(90, 10) , (80, 20), (60, 40), (40, 60), (15, 85)},
并且产品必须小于, Prod <= 1000
,
可能的解决方案是: -
[Solution 1 :- {(15, 85), (40, 60)} :- Product = 600 (which is less than, 1000), cost = 85 + 60 = 145]
[Solution 2 :- {(15, 85), (80, 20)} :- Product = 900 and cost = 105]
所以列表变成了,{Solution2, Solution1}
。
PS:-
- 这不是作业问题,在采访中被问到。我只被问到算法,我只能说它看起来有点类似于背包问题,但用于乘法。
- 如果我无法正确解释问题,请原谅。