跳跃游戏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;
    }
};
相关推荐
学编程的小程13 分钟前
LeetCode216
算法·深度优先
leeyayai_xixihah13 分钟前
2.21力扣-回溯组合
算法·leetcode·职场和发展
01_16 分钟前
力扣hot100——相交,回文链表
算法·leetcode·链表·双指针
萌の鱼16 分钟前
leetcode 2826. 将三个组排序
数据结构·c++·算法·leetcode
Buling_017 分钟前
算法-哈希表篇08-四数之和
数据结构·算法·散列表
AllowM19 分钟前
【LeetCode Hot100】除自身以外数组的乘积|左右乘积列表,Java实现!图解+代码,小白也能秒懂!
java·算法·leetcode
RAN_PAND44 分钟前
STL介绍1:vector、pair、string、queue、map
开发语言·c++·算法
fai厅的秃头姐!3 小时前
C语言03
c语言·数据结构·算法
lisanndesu3 小时前
动态规划
算法·动态规划
myprogramc3 小时前
十大排序算法
数据结构·算法·排序算法