45. 跳跃游戏 II

题目描述

给定一个长度为 n0 索引 整数数组 nums。初始位置为 nums[0]

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:

  • 0 <= j <= nums[i]
  • i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]

示例

示例 1:

复制代码
输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。
     从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

示例 2:

复制代码
输入: nums = [2,3,0,1,4]
输出: 2

提示:

  • 1 <= nums.length <= 10^4
  • 0 <= nums[i] <= 1000
  • 题目保证可以到达 nums[n-1]

代码

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        int max_far=0;  //能到达最远距离
        int s=0;         // 最少跳跃次数
        int r=0;        //每次能达到的最右边界
        for(int i=0;i<nums.size()-1;i++)
        {
            max_far = max(max_far,i+nums[i]);  // 跳的位置
            if(i==r)
            { 
                r = max_far;            // 下一个起跳位置
                s++;                  
            }
        }
        return s;
    }
    
};
相关推荐
Swift社区6 小时前
鸿蒙游戏中的“智能 NPC”架构设计
游戏·华为·harmonyos
王杨游戏养站系统7 小时前
3分钟!玩转游戏下载站系统!蜘蛛池seo功能完善部署!
游戏·游戏下载站养站系统·游戏养站系统
魔士于安7 小时前
unity 低多边形 无人小村 木质建筑 晾衣架 盆子手推车,桌子椅子,罐子,水井
游戏·unity·游戏引擎·贴图·模型
魔士于安8 小时前
unity 骷髅人 连招 武器 刀光 扭曲空气
游戏·unity·游戏引擎·贴图·模型
前端不太难8 小时前
为什么 AI 游戏更适合鸿蒙?
人工智能·游戏·harmonyos
沙振宇8 小时前
【Web】使用Vue3+PlayCanvas开发3D游戏(十一)渲染3D高斯泼溅效果
前端·游戏·3d
wanhengidc9 小时前
服务器 数据科技发展
运维·服务器·爬虫·科技·游戏·智能手机
Clank的游戏栈9 小时前
AI实战:如何更好的使用AI开发游戏项目
人工智能·游戏
风酥糖10 小时前
Godot游戏练习01-第29节-游戏导出
游戏·游戏引擎·godot
芝士就是力量啊 ೄ೨11 小时前
游戏里老触发中文输入法怎么办?
游戏