我是编程新手,目前正面临建立优化算法的问题,我无法找到一个好的高效的解决方案来实现我当前面临的情况所期望的目标。就是这种情况:
假设现在詹姆斯有900美元,在一家商店中有4件商品的价格不同。
项目A:450美元
项目B:300美元
项目C:350美元
项目D:200美元
*每个项目的存货数量仅为一个。
现在,詹姆斯需要最大限度地利用自己现有的资金(900美元)。换句话说,他可以购买任何物品,但是剩余的钱需要尽可能少。在这种情况下,最好的结果将是:詹姆斯带来了项目B,C和D,他的剩余余额为50美元。
用语言解释很容易,但是针对这种情况进行编程或编写算法时,情况就完全不同了。
我曾尝试编写逻辑:将商品价格从低到高排序,然后从最低价格的商品中扣除900美元的货币余额,直到没有可以买到的商品为止,但是我意识到这种逻辑无法实现最大化使用金钱。例如,当将900美元的金额更改为800美元时,最好的情况是购买450美元和350美元的商品,剩余的为零,但是我的逻辑将购买300美元和200美元的商品,因为早期商品已分类。
因此,我在这里提出这个问题,以找出解决此情况的任何解决方案。我知道这可能是一个愚蠢的问题,但我确实尽我所能来学习和改进。
该算法应:
*请为我提供参考,以从您的解决方案中学习。谢谢。