LeetCode:79.跳跃游戏Ⅱ

目录

1.跳跃游戏Ⅱ


1.跳跃游戏Ⅱ

这道题与上一道不同在于肯定可以跳跃过去,计算步数,我们用一个end来保存边界,如果说已经走到了end的话,想要再向前走就必须要再跳一次

每次在上次能跳到的范围(end)内选择一个能跳的最远的位置(也就是能跳到maxpos位置的点)作为下次的起跳点

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        int n = nums.size(), maxpos = 0, end = 0, step = 0;
        for(int i = 0; i < n - 1; i++)
        {
            if(i <= maxpos)
            {
                maxpos = max(maxpos, i + nums[i]);
                if(i == end)
                {
                    end = maxpos;
                    step++;
                }
            }
        }
        return step;
    }
};
相关推荐
有点。4 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥6 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸6 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp6 小时前
KV Cache 解析
java·算法
liliangcsdn6 小时前
IVOL与偏度因子的对比测量分析
算法
threerocks8 小时前
Jev 入门第一课
算法
西柚研究生1234569 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
hetao17338379 小时前
2026-09-17 hetao1733837 的刷题记录
c++·算法
午彦琳10 小时前
2026.9.17
数据结构·算法·leetcode
木井巳11 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法