跳跃游戏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;
    }
};
相关推荐
别来无恙1499 分钟前
岛屿周长问题的三种解法:直接计数法、数学计算法与深度优先搜索
java·c++·算法·深度优先·dfs
UP_Continue1 小时前
排序--计数排序
数据结构·算法
牵手夏日4 小时前
题目类型——左右逢源
算法
愚润求学5 小时前
【递归、搜索与回溯】FloodFill算法(一)
c++·算法·leetcode
sunny-ll6 小时前
【C++】详解vector二维数组的全部操作(超细图例解析!!!)
c语言·开发语言·c++·算法·面试
嵌入式@秋刀鱼7 小时前
《第四章-筋骨淬炼》 C++修炼生涯笔记(基础篇)数组与函数
开发语言·数据结构·c++·笔记·算法·链表·visual studio code
嵌入式@秋刀鱼7 小时前
《第五章-心法进阶》 C++修炼生涯笔记(基础篇)指针与结构体⭐⭐⭐⭐⭐
c语言·开发语言·数据结构·c++·笔记·算法·visual studio code
简简单单做算法7 小时前
基于PSO粒子群优化的VMD-LSTM时间序列预测算法matlab仿真
算法·matlab·lstm·时间序列预测·pso·vmd-lstm·pso-vmd-lstm
无聊的小坏坏8 小时前
高精度算法详解:从原理到加减乘除的完整实现
算法
愚润求学8 小时前
【递归、搜索与回溯】FloodFill算法(二)
c++·算法·leetcode