代码随想录算法训练营第32天|122.买卖股票的最佳时机II、 55. 跳跃游戏 、45.跳跃游戏II

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

题目链接

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

我的题解

class Solution {
public:
    int maxProfit(vector& prices) {
        int res = 0;
        for (int i = 1; i < prices.size(); i ++) {
            int diff = prices[i] - prices[i - 1];
            if (diff > 0) res += diff;
        }
        return res;
    }
};

55. 跳跃游戏

题目链接

55. 跳跃游戏

我的题解

class Solution {
public:
    bool canJump(vector& nums) {
        int cover = nums[0];
        for (int i = 0; i <= cover; i ++) {
            if (cover >= nums.size() - 1) return true;
            cover = max(cover, i + nums[i]);
        }
        return false;
    }
};

45.跳跃游戏II

题目链接

45. 跳跃游戏 II

我的题解

class Solution {
public:
    int jump(vector& nums) {
        if (nums.size() == 1) return 0;
        int res = 1, start = 0, end = nums[0];
        while (end < nums.size() - 1) {
            int new_start = start;
            int new_end = end;
            for (int i = start; i <= end; i ++) {
                int tmp = i + nums[i];
                if (tmp > new_end) {
                    new_start = i;
                    new_end = tmp;
                }
            }
            start = new_start;
            end = new_end;
            res ++;
        }
        return res;
    }
};

你可能感兴趣的:(代码随想录算法训练营,c++,算法,数据结构,leetcode)