day32.

文章探讨了如何确定买卖股票的最佳时机以最大化利润,采用前一天最高值作为卖出点,并只考虑正利润。对于跳跃游戏问题,作者通过贪心算法和递归思路进行了解决,并对比了不同方法的效率。在跳跃游戏II中,强调了正确理解步数含义的重要性,以及逐步计算最优跳跃范围的策略。
摘要由CSDN通过智能技术生成

122.买卖股票的最佳时机II  

我的思路下滑的前一天卖出之前的最高值,下滑前一天为一个局部==>模拟购买和出售逻辑

不一定要模拟购买出售,只要能算出来利润就行了

每天为一个局部 比较前一天产生正负值

7 10 5 20 ==> \  3  -5  15  

只加正值即可

 55. 跳跃游戏 

又过了。。感觉贪心好符合我的思路。。第一时间想到是递归

总算跟题解统一了一次==>覆盖范围

美中不足是我是i<nums.size() + break(when not range) 

题解直接 i<maxrange 更新maxrange就行了 但好像效率差不多

45.跳跃游戏II

纠结了一会,但还是想出来了,关键就在于老是误解能跳j步是所有<=j步都可以,所以每一步都产生一个范围,每个范围到另一个范围可以最小只用一步

但看题解之前思路还是不够清晰,题解更工整:

算出第一步的范围==>step++,看够不够==>不够,算出第二步的范围==>step++,看够不够...

每次算完一个步伐范围的时候才看够不够,第一步则直接看范围

我的:

把0步到和一步到都看左特殊情况,默认就是一步到不了,从两步的范围开始循环,

这样遇到maxrange够了的时候随时break并+1

某些特殊情况的时候其实我的快不少:

nums = 8 8 1 1 1 1 1 1 1 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值