你好 Stackoverflow 的人,
我经营一个网站,该网站为其用户寻找最便宜的购买书籍的地方。这对于一本书来说很容易,但对于多本书来说,有时在一家商店购买一本书并从另一家商店购买另一本书可能更便宜。
目前我找到了最便宜的商店,可以销售用户列表中的所有书籍,但我想要一个更智能的系统。这里有更多信息:
- 书店的价格是不变的。
- 运费可能会有所不同,具体取决于书籍的数量或书籍的总价值。
- 每个商店对象都可以获取一系列书籍并返回运费。
- 通常,并非每家商店都出售每一本书。
不确定在这里链接到我的网站是否很酷,但它列在我的用户资料中。
我希望能够找到最便宜的商店和书籍组合。
我担心它需要一种蛮力的方法——而且有 35 家商店,对于少量书籍来说,组合的数量将是巨大的。我感觉组合的数量是 (#shops)^(#books) - 但不是 100%
问题是,我应该使用什么方法?这个问题是否适合众所周知的一类问题?如果需要蛮力,在 Ruby 中这样做的好方法是什么,我可以优先考虑商店先尝试吗?