首页 > 试题广场 >

跳跃游戏(三)

[编程题]跳跃游戏(三)
  • 热度指数:3951 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数数组nums,假定最开始处于下标为0的位置,数组里面的每个元素代表下一跳能够跳跃的最大长度。请你判断最少跳几次能跳到数组最后一个位置。
1.如果跳不到数组最后一个位置或者无法跳跃(即数组长度为0),请返回-1
2.数据保证返回的结果不会超过整形范围,即不会超过


数据范围:


示例1

输入

[2,1,3,3,0,0,100]

输出

3

说明

首先位于nums[0]=2,然后可以跳2步,到nums[2]=3的位置,step=1
再跳到nums[3]=3的位置,step=2
再直接跳到nums[6]=100,可以跳到最后,step=3,返回3 
示例2

输入

[2,1,3,2,0,0,100]

输出

-1
头像 godhands
发表于 2022-01-06 21:27:57
描述 题目描述 给我们一个数组,然后我们的起始位置是000,然后我们数组里面的每一个元素就是我们每次可以跳的最大的一个距离,问最少几次可以跳到终点 注意: 如果跳不到最后的话,我们输出−1-1−1,如果我们数组长度为000,返回−1-1−1 样例解释 样例输入: [2,1,3,3,0,0,100] 展开全文
头像 CroMarmot
发表于 2022-01-03 22:16:54
题意 给一个数组,每个位置表示当前能到之后的数组的最远距离,求从最开始到最后一个的位置跳转的最小次数 限制: 数组长度不大于1000 方法 遍历枚举 直接模拟题目,增加一个辅助数组记录每个位置的最小跳次数. 从头开始遍历,对每个可以到达的位置,更新它和它之后的位置的最小跳跃次数 如果有位置能直接到终 展开全文
头像 代码界的小白
发表于 2022-01-08 01:02:42
题目主要信息 1、给定一个非负整数数组nums,数组里面的每个元素代表下一跳能够跳跃的最大长度 2、判断最少跳几次能跳到数组最后一个位置 3、若无法跳到最后一个位置,返回-1 方法一:反向查找 具体方法 这道题是典型的贪心算法,通过局部最优解得到全局最优解。我们的目标是到达数组的最后一个位置,因此我 展开全文
头像 dididididido
发表于 2023-05-20 15:57:58
贪心思想:时间复杂度O(N), 空间复杂度O(1)。「C++ 代码」 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整 展开全文
头像 Louis201907010812408
发表于 2023-07-31 22:06:51
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @r 展开全文
头像 球球了给孩子一个offer吧
发表于 2022-02-01 00:28:40
题目: 给定一个非负整数数组nums,假定最开始处于下标为0的位置,数组里面的每个元素代表下一跳能够跳跃的最大长度。请你判断最少跳几次能跳到数组最后一个位置。 如果跳不到数组最后一个位置或者无法跳跃(即数组长度为0),请返回-1 数据保证返回的结果不会超过整形范围,即不会超过231−12^{ 展开全文
头像 fred-coder
发表于 2022-02-24 17:11:19
贪心解法,先判断是否可以走到最后,如果可以,设置 end 为可以跳的最远距离,根据当前位置能跳的最远距离更新 end,代码如下 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 展开全文
头像 牛客640386894号
发表于 2022-06-22 14:53:08
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 展开全文