跳跃游戏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;
    }
};
相关推荐
NEFU_Jyj15 小时前
牛客周赛R168
算法
文丑颜不良啊1 天前
LeetCode2221~2240题目解析
java·leetcode
Navigator_Z1 天前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
D e re k ZH1 天前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶1 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
文丑颜不良啊1 天前
LeetCode2161~2180题目解析
java·leetcode
雪落漂泊1 天前
C++算法 二分查找篇(上)
开发语言·c++·算法
文丑颜不良啊1 天前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发1 天前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview