[LeetCode系列] 跳跃问题II
给定一系列非负整数, 每个值代表从此下标可以向前跳跃的最远距离, 试求出跳跃到数组尾端需要的最少步骤.
如给定 [2,3,1,1,4], 返回2. (从下标0跳到1, 从1跳到下标4).
算法描述: 贪心算法, 从头开始遍历数组, 记录通过ret+1步能够到达的最远下标为curr, 记录通过ret步能够到达的最远下标为last, 当遍历到的下标i大于上一次能够到达的最远下标last时, 更新last为curr, 并对ret加1, 数组遍历完成后返回ret.
代码:
1 class Solution { 2 public: 3 int jump(int A[], int n) { 4 int last = 0; 5 int curr = 0; 6 int ret = 0; 7 for (int i = 0; i < n; i++) { 8 if (i > last) { 9 if (last == curr && last < n - 1) return -1; 10 last = curr; 11 ret++; 12 } 13 curr = max(curr, i + A[i]); 14 } 15 return ret; 16 } 17 };
转载于:https://www.cnblogs.com/lancelod/p/3972272.html
[LeetCode系列] 跳跃问题II相关推荐
- Leetcode 45. 跳跃游戏 II
Leetcode 45. 跳跃游戏 II 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组 ...
- leetcode 45. 跳跃游戏 II 46. 全排列
leetcode 45. 跳跃游戏 II 46. 全排列 45. 跳跃游戏 II 难度中等1273收藏分享切换为英文接收动态反馈 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中 ...
- leetcode 45.跳跃游戏 II
一.题意 给出一个非负整数数组 nums ,数组中的每个元素代表在该位置可以跳跃的最大长度.使用最少的跳跃次数到达数组的最后一个位置.假设总是可以到达数组的最后一个位置. 二.解法 贪心算法. 解法一 ...
- leetcode系列-90.子集 II
leetcode系列–第90题.子集 II 做此题之前务必先做 第78题题目描述: 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子 ...
- LeetCode 45.跳跃游戏II
45.跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. ...
- LeetCode 45. 跳跃游戏 II(贪心/BFS,难)
文章目录 1. 题目 2. 解题 2.1 贪心 2.2 BFS 1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的 ...
- leetcode 45跳跃游戏II
跳跃游戏II 核心思想:当前范围内走不到目的地,更新下一个范围.下一个范围是当前范围内能走到的最远点 class Solution {public:int jump(vector<int> ...
- leetcode —— 45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...
- Leetcode 45. 跳跃游戏 II (每日一题 20210922)
给你一个非负整数数组 nums ,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.你的目标是使用最少的跳跃次数到达数组的最后一个位置.假设你总是可以到达数组的最后一个位置 ...
最新文章
- 防止Domino邮件服务器作为垃圾邮件转发服务器
- onTouchEvent
- android dbflow教程,Android高性能ORM数据库DBFlow入门教程
- Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build
- 新一代数据中心不可忽视DAC高速铜缆直连线应用
- html和ajax通信,使用Ajax与服务器(JSON)通信实例
- ios网络学习------1get post异步请求
- 寒心!一个开发者就这样离开了!
- vscode - 设置 Python 版本
- 基于springboot宠物医院管理系统java源码
- 服务器域名解析问题,域名解析出现错误的几种情况,以及解决方法
- 中文命名实体识别总结
- python读取xls文件_用python脚本 从xls文件中读取数据
- Assuming drive cache: write through ubuntu硬盘内存扩展
- 异常-银行账户异常处理
- 基于IPFS视频存储的在线视频网站
- 【笔记:Spring】
- (5)CC3200学习之串口
- 数据库基本知识(MySql版)
- Ubuntu完全卸载与安装Mysql
热门文章
- k8s springboot 文件_用Kubernetes部署Springboot或Nginx,也就一个文件的事
- mybatis plus 动态创建表和字段_mybatis-plus maven代码生成器
- python私有化方法_Python 私有化
- python ggplot为什么不能取代matplotlib_为什么geom_bar()不会像python ggplot中那样更改填充颜色?...
- table中加表单元素怎么验证_el-table嵌入表单元素注意事项(验证规则prop写法与数据初始化)...
- java生成点阵图_Android从SD卡读取图片并显示为点阵图
- java 打包工具_Java打包Windows安装程序
- HBuilder Android APP打包发布
- spring boot 教程(五)使用JdbcTemplate访问数据库
- mysqli.class.php,PHP MySQLi类