算法训练Day28 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

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

cpp 复制代码
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        vector<int> dp(2,0);
        dp[0] = -prices[0];
        for(int i=1; i<prices.size(); i++){
            dp[0] = max(dp[0], dp[1]-prices[i]);
            dp[1] = max(dp[1], prices[i]+dp[0]);
        }
        return dp[1];
    }
};

参考文章:代码随想录- 122.买卖股票的最佳时机II

55. 跳跃游戏

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

    }
};

参考文章:代码随想录-55. 跳跃游戏

45.跳跃游戏II

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        if (nums.size() == 1) return 0;
        int cover = 0;
        int next_cover = 0;
        int count = 0;
        for(int i=0; i<=nums.size(); i++){
            
            if(i+nums[i]>next_cover){
                next_cover = i+nums[i];
            }
            if(i == cover){
                count++;
                cover = next_cover;
                if(next_cover>=nums.size()-1){
                    return count;
                }
                
                
                
            }
        }
        return -1;

    }
};

参考文章:代码随想录- 45.跳跃游戏II

相关推荐
CoovallyAIHub15 分钟前
终结AI偏见!Sony AI发布Nature论文与FHIBE数据集,重塑公平性评估基准
深度学习·算法·计算机视觉
7澄117 分钟前
深入解析 LeetCode 1572:矩阵对角线元素的和 —— 从问题本质到高效实现
java·算法·leetcode·矩阵·intellij-idea
ALex_zry19 分钟前
c20 字符串处理优化可选方案
算法
阳光明媚sunny22 分钟前
分糖果算法题
java·算法
卡提西亚25 分钟前
一本通网站1125题:矩阵乘法
c++·算法·矩阵·编程题·一本通
程序员东岸26 分钟前
数据结构精讲:从栈的定义到链式实现,再到LeetCode实战
c语言·数据结构·leetcode
laocooon5238578861 小时前
大数的阶乘 C语言
java·数据结构·算法
Boop_wu1 小时前
[Java EE] 多线程 -- 初阶(1)
java·jvm·算法
陌路202 小时前
Linux33 网络编程-多线程TCP并发
网络·算法
星释9 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust