算法训练营笔记day32|122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II

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

题目连接

笔记

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

55. 跳跃游戏

题目连接

笔记

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

45. 跳跃游戏 II

题目连接

笔记

class Solution {
public:
    int jump(vector<int>& nums) {
        int result = 0;
        int curDistance = 0;
        int nextDistance = 0;
        for (int i = 0; i < nums.size(); i++) {
            nextDistance = max(nextDistance, i + nums[i]);
            if (curDistance <= i && i != nums.size() - 1) {
                curDistance = nextDistance;
                result++;
                //if (curDistance >= nums.size() - 1) break;
            }
        }
        return result;
    }
};

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