算法训练day32|贪心算法part02

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

局部最优:记录每天的利润,只需要累加利润为正的天数

// 贪心思路
class Solution {
    public int maxProfit(int[] prices) {
        int result = 0;
        for (int i = 1; i < prices.length; i++) {
            result += Math.max(prices[i] - prices[i - 1], 0);
        }
        return result;
    }
}

55. 跳跃游戏

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

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

45.跳跃游戏 II

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

如果当前范围内不够到达终点,需要多跳一步,开启下一个范围

nums.length==1为特殊情况需要单独讨论

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