策略:优先使用面值大的硬币 2个2.5元的硬币 1个1元的硬币 3个1角的硬币 与其它找法相比,这种找法拿出来的硬币个数最少。 一 目标:找出的硬币个数最少 策略:优先选用大面值硬币 思考:该策略总是可以得到最优解吗? 贪心法 一 假设要找给某顾客1.5元,现在你手头有面值 为1.1元、5角和1角的硬币若干,试问...
用贪心法的思想就是:老板要找给我99元的话,他有上面的面值分别为50,20,10,5,2,1元的钞票,为了找给我最少的硬币数,他首先考虑50元的,能找99/50=1张,然后看20元,能找49/20=2张,剩下9元,然后看10元,不能找,那么就考虑5元… 即每次考虑当前看起来最优的选择. 代码实现(Java): public classGreedyT...
贪心法找零钱问题..3. 如果所有的选项都已经过遍历且都不满足总的价值超过用户的预期数额时返回最后一个项目中的商品编号数乘以它们的单位数量(这里每个单元可能有多个货币单位的区别),同时我们还需要考虑一些特殊的情况如需要找
你的问题本身就是错的。现实世界中的找零钱是适用于贪心法来解决的。
贪心法假设要找给某顾客1.5元,现在你手头有面值为1.1元、5角和1角的硬币若干,试问如何找钱使得所找的硬币总数最少?策略:优先使用面值大的硬币。 1个1.1元的硬币 4个1角的硬币最优解: 3个5角的硬币贪心策略不一定总是能够得到最优解!贪心策略从局部最优出发,每次做一个选择,问题规模就减小一些,重复该过程,...