代码训练营第32天|● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

发布时间:2024年01月15日

文档讲解:代码随想录 (programmercarl.com)

视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com)

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

题目链接122. 买卖股票的最佳时机 II - 力扣(LeetCode)

代码如下:

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

LeetCode?55. 跳跃游戏

题目链接55. 跳跃游戏 - 力扣(LeetCode)

解题代码如下

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

LeetCode?45.跳跃游戏II?

题目链接:45. 跳跃游戏 II - 力扣(LeetCode)

解题思路:记录下一步可达最大范围,如果遍历到当前可达最大范围,就步数加一,并更新当前可达最大范围。

解题代码如下:

class Solution {
public:
    int jump(vector<int>& nums) {
        int curmax=0;
        int nextmax=0;
        int res=0;
        for(int i=0;i<nums.size()-1;i++){
            nextmax=max(nextmax,nums[i]+i);
            if(curmax==i){
                res++;
                curmax =nextmax;
            }
        }
        return res;        
    }
};

文章来源:https://blog.csdn.net/m0_50658969/article/details/135598937
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。