201 / 5.000 我目前在优化算法时遇到问题。这是一家提供多种不同商品的商店,这些商品分为 5 个不同类别(食品、饮料等)。
该算法应该优化任何购物的价格。
这里有一个示例,为简单起见,我假设每件商品的成本为 5 美元。
顾客购买
如果您组合 [1,2,3,4,5] 和 [1,2,3],您将获得一次 25% 和一次 10% 折扣,总价为 32,25 美元。但如果将 [1,2,3,4] 和 [1,2,3,5] 分组,您将获得两倍的 20% 总价 32 美元。
如果我理解正确的话,你想优化购物车的总奖金。
仅当您希望购物车仅包含少量商品时,才应使用此解决方案。在这种情况下,暴力方法应该不会有太大问题。
如果您的购物车太大而无法在合理的时间内尝试所有可能性,则一种可能性如下:
这应该会产生一个列表
要优化最后一个列表,您应该:
这可能不是最好的解决方案,但它应该很容易理解和实施。