贪心法

最近几个Leetcode题目选的都是贪心。
1. 首先建模,看看能不能得到一个递进模型,使得这个模型的任何一步如果最优,持续计算下去不需回退即能得到全局最优解,那么这个题目就可以用贪心算法。
2. 算法实际上很简单,即是每一步都尽量去得到最优的结果,于是很快就能得到最终解。

题目和解法归纳:
1. Jump Game
对于任何一步都可以走0-A[i]步,所以每一步都可以走到最远而无需考虑回退。标准的贪心算法问题且可以做到O(n)的效率。

2. Jump Game II
类似上题,在跨出当前一步之前,只需要看看跨到什么位置能让下一步和这一步的总和最远即可最优化结果。仍然不需要回退,而且下一步的选择只需要和当前一步有关即可,无需考虑之前的其他步。

3. Container with most water
桶里能装多少水取决于矮的那个边。为了装更多的水,要么桶足够宽,要么两个边足够高。所以从两边开始计算当前的桶能装多少水。计算结束后矮的一边向中间靠拢一步,继续计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值