算法修炼Day32|● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

55 阅读1分钟
题目:122. 买卖股票的最佳时机 II - 力扣(LeetCode)
代码实现:
class Solution {
    public int maxProfit(int[] prices) {
        int ans = 0;
        for (int i = 1; i < prices.length; i++) {
            ans += Math.max(prices[i] - prices[i - 1], 0);
        }
        return ans;
    }
}
题目:55. 跳跃游戏 - 力扣(LeetCode)
代码实现:
class Solution {
    public boolean canJump(int[] nums) {
        if (nums.length == 1) return true;
        int cover = 0;
        for (int i = 0; i <= cover; i++) {
            cover = Math.max(cover, i + nums[i]);
            if (cover >= nums.length - 1) return true;
        }
        return false;
    }
}
题目:45. 跳跃游戏 II - 力扣(LeetCode)
代码实现:
class Solution {
    public int jump(int[] nums) {
        if (nums.length == 1) return 0;
        int count = 0;
        int curCover = 0;
        int maxCover = 0;
        for (int i = 0; i < nums.length; i++) {
            maxCover = Math.max(maxCover, i + nums[i]);
            if (maxCover >= nums.length - 1) {
                count++;
                break;
            } 
            if (i == curCover) {
                curCover = maxCover;
                count++;
            }
        }
        return count;
    }
}