给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
示例:

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

说明:
假设你总是可以到达数组的最后一个位置。

该问题的思路和 leetcode-55 跳跃游戏 的思路类似,关键还是寻找跳跃点;同样是贪心的过程,选择跳跃范围内下次可跳的最远的区域,即可保证跳跃次数最少。
跳跃的过程中动态维护一个下次可跳 的最远区域,当这次达到了可跳点,则更新下一次的跳跃条件。

实现如下:

int jump(vector<int>& nums) {if (nums.size() < 2) {return 0;}int curr = nums[0];//当前的目标区域int pre = nums[0];//下次可跳的最远区域int jump_min = 1;for (int i = 1;i < nums.size(); ++i) {if (i > curr) {//达到了当前的目标区域即可跳jump_min ++;curr = pre;}if (pre < nums[i] + i) { pre = nums[i] + i;}}return jump_min;
}

leetcode-45 跳跃游戏II相关推荐

  1. Leetcode 45. 跳跃游戏 II

    Leetcode 45. 跳跃游戏 II 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组 ...

  2. leetcode 45. 跳跃游戏 II 46. 全排列

    leetcode 45. 跳跃游戏 II 46. 全排列 45. 跳跃游戏 II 难度中等1273收藏分享切换为英文接收动态反馈 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中 ...

  3. LeetCode 45.跳跃游戏II

    45.跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. ...

  4. leetcode 45.跳跃游戏 II

    一.题意 给出一个非负整数数组 nums ,数组中的每个元素代表在该位置可以跳跃的最大长度.使用最少的跳跃次数到达数组的最后一个位置.假设总是可以到达数组的最后一个位置. 二.解法 贪心算法. 解法一 ...

  5. LeetCode 45. 跳跃游戏 II(贪心/BFS,难)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 BFS 1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的 ...

  6. leetcode 45跳跃游戏II

    跳跃游戏II 核心思想:当前范围内走不到目的地,更新下一个范围.下一个范围是当前范围内能走到的最远点 class Solution {public:int jump(vector<int> ...

  7. leetcode —— 45. 跳跃游戏 II

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...

  8. Leetcode 45. 跳跃游戏 II (每日一题 20210922)

    给你一个非负整数数组 nums ,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.你的目标是使用最少的跳跃次数到达数组的最后一个位置.假设你总是可以到达数组的最后一个位置 ...

  9. leetcode 45. 跳跃游戏 II 思考分析

    题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4 ...

  10. LeetCode 45. 跳跃游戏 II Jump Game II

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...

最新文章

  1. 深度学习在三维环境重建中的应用
  2. eclipse异常关闭,无法启动tomcat解决办法
  3. The APR based Apache Tomcat Native library
  4. 消费者最关心的就是你的用户体验,以及保证产品品质,保证价格和服务
  5. pmp每日三题(2022年2月24日)
  6. SAP UI5 application - model propagation
  7. MySQL执行外部sql脚本文件的命令( source命令执行sql )
  8. 对象过滤某个属性 循环 php_37道PHP面试题(附答案)
  9. matlab中的[~,m]=size(coord)是什么意思
  10. jquery java aes_[代码全屏查看]-java、js之间使用AES加密通信数据
  11. python mongodb 设置密码前一篇ok,csv文件存入mongodb
  12. Git详解(2)——Git基础
  13. python 静态变量_python小课堂19 - 面向对象篇(二)
  14. 详细解析Photoshop10个必学的抠图技巧
  15. nginx获取代理服务ip及客户端真实ip
  16. matlab求阶乘函数的代码,matlab阶乘
  17. 5.4.1. Check Constraints
  18. 什么是实体-联系图(ER图)
  19. thinkphp使用dompdf导出pdf(html转pdf)
  20. R语言中的ggmap包

热门文章

  1. 完美的隐藏软键盘方法
  2. Spring.Net Aop
  3. ORB_SLAM2单目初始化策略
  4. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
  5. mysql所有班级名称和人数_mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)...
  6. ubuntu chrome java插件_在Ubuntu中为Chrome安装Java插件
  7. matlab白化滤波,基于预白化方法的降噪预处理技术与流程
  8. python做运动控制_第一课:用Python操控小龟小车运动
  9. 字符串数组(就自己做个笔记)
  10. 如何获取元素在父级div里的位置_前端面试题--元素的BFC特性和实例