博客
关于我
钞票最优解
阅读量:639 次
发布时间:2019-03-15

本文共 738 字,大约阅读时间需要 2 分钟。

贪心算法在许多问题中都是一个高效的策略,但在某些情况下,这种策略并不能提供最优解。就拿在现实生活中遇到的钞票兑换问题来说,假设面额越大越好,人们可能会倾向于优先使用大面值的钞票。但这种方法是否真的最优,是需要具体情况具体分析的。

当我们将问题具体化时,可以发现贪心策略的局限性。比如在钞票兑换的问题中,面额大的钞票虽然能够帮我们一次性兑换更多的金额,但这并不能使总体的钞票数量减少。试想,如果我们一直用最大的面额钞票来支付,那么总履约的钞票数量其实也会增加,而不是减少。这种情况说明我们需要用一种更加全面的比较方法,而不是简单地按照单个标准来判断。

想象一下,如果我们每次都会选择最大的可能面额,那么当遇到更小的面额支付需求时,我们还需要额外准备更多的钞票,这样总的钞票数量反而会增加。最好的解决方式是将所有的面额按序连接起来,这样不论是哪种面额,总能找到一个合适的兑换方式。这种方法看起来简单,但是其背后的逻辑却很深奥,它充分考虑了不同面额之间的关系。

在实际问题中,我们往往需要在多种策略之间进行权衡。虽然贪心算法能够在某些情况下快速找到局部最优解,但它并不一定是全局最优。因此,我们需要通过模拟所有可能的情况,或者采用动态规划的方式,才能确保解决方案的最优性。这种全面的思考方式虽然计算复杂度会增加,但对于确保最优解的准确性却是值得的。

对于像钞票兑换这样的实际问题,真正的最优解往往需要平衡不同面额之间的关系。简单地采用最大的面额来解决问题,可能会导致整体的自付金额增加。因此,一个综合性的策略是找到一个能够概括所有面额的方案,这样才能在各种检验用例中都表现到位。这种方法虽然比单一的贪心策略要复杂一些,但它能够帮助我们在不损失总效益的前提下,实现资源的全局最优配置。

转载地址:http://lzmlz.baihongyu.com/

你可能感兴趣的文章
JAVA 数据流练习之 统计文本中出现的字的次数
查看>>
JAVA后端编写的一些思路
查看>>
kuangbin带你飞 KMP & 扩展KMP & Manacher总结(一)
查看>>
PhotoshopCC2019制作表情包
查看>>
超好用的原生 JS + Canvas 进行图片压缩
查看>>
node 环境使用七牛云完成文件的上传下载与管理
查看>>
Android简单MVP解析接口列表,搜索框,点击切换
查看>>
ADB
查看>>
响应的HTTP协议格式+常见的响应码
查看>>
Java数组
查看>>
创建线程方式
查看>>
线程池
查看>>
Netty读写方法
查看>>
LRUCache
查看>>
Mac上如何强制关闭应用
查看>>
SpringBoot @Value与@ConfigurationProperties比较
查看>>
关于Linux系统中touch命令的说明
查看>>
剑指Offer03-数组中重复的数字
查看>>
将windows里的内容直接复制粘贴到ubuntu,提高效率
查看>>
将tomcat设置成window自启动服务
查看>>