LeetCodeHot100:Python 版本之贪心

121. 买卖股票的最佳时机

LeetCodeHot100:Python 版本之贪心_第1张图片

55. 跳跃游戏

那么这个问题就转化为跳跃覆盖范围究竟可不可以覆盖到终点!(看覆盖范围)

每次移动取最大跳跃步数(得到最大的覆盖范围),每移动一个单位,就更新最大覆盖范围。

贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围),整体最优解:最后得到整体最大覆盖范围,看是否能到终点

LeetCodeHot100:Python 版本之贪心_第2张图片
45. 跳跃游戏 II

贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。整体最优:一步尽可能多走,从而达到最小步数。

所以真正解题的时候,要从覆盖范围出发,不管怎么跳,覆盖范围内一定是可以跳到的,以最小的步数增加覆盖范围,覆盖范围一旦覆盖了终点,得到的就是最小步数!

计算下一步的覆盖范围是取现存范围中的最大值。

LeetCodeHot100:Python 版本之贪心_第3张图片

763. 划分字母区间 

 LeetCodeHot100:Python 版本之贪心_第4张图片

你可能感兴趣的:(leetcode,leetcode,算法)