跳跃游戏II(力扣45)

这道题在跳跃游戏(力扣55)-CSDN博客 的基础上需要找到最小的跳跃次数。那么我们需要用一个变量来统计跳跃次数,而难点就在于何时让该变量的值增加。这一点我写在注释中,大家结合我的代码会更好理解。其他部分跟跳跃游戏(力扣55)-CSDN博客几乎相同,我就不再次赘述了。

代码及详细注释如下:

复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        if(nums.size() == 1) return 0;
        int next_cover = 0;
        int cur_cover = 0;
        int result = 0;
        for(int i = 0;i <= cur_cover;i++){
            next_cover = max(next_cover,i + nums[i]);
            //当遍历的数组的指针达到当前的最大跳跃范围时,就让跳跃次数增加
            if(i == cur_cover){
                result++;
                cur_cover = next_cover;     
            }
            //如果最大范围大于数组最后一个下标,可以直接退出
            if(cur_cover >= nums.size() - 1) return result;
        }
        return 0;
    }
};
相关推荐
mit6.8244 分钟前
山脉二分找中值|子集型回溯
算法
乃瞻衡宇13 分钟前
Agent Skills 完全指南:让你的 AI Agent 拥有超能力
算法
mit6.82417 分钟前
pair<int, TreeNode*> dfs
算法
初晴や1 小时前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
李泽辉_1 小时前
深度学习算法学习(五):手动实现梯度计算、反向传播、优化器Adam
深度学习·学习·算法
李泽辉_1 小时前
深度学习算法学习(一):梯度下降法和最简单的深度学习核心原理代码
深度学习·学习·算法
꧁Q༒ོγ꧂2 小时前
算法详解---大纲
算法
m0_603888712 小时前
Scaling Trends for Multi-Hop Contextual Reasoning in Mid-Scale Language Models
人工智能·算法·ai·语言模型·论文速览
Xの哲學2 小时前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
comli_cn2 小时前
残差链接(Residual Connection)
人工智能·算法