首页 > 试题广场 >

跳跃游戏(一)

[编程题]跳跃游戏(一)
  • 热度指数:5339 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数数组nums,假定最开始处于下标为0的位置,数组里面的每个元素代表下一跳能够跳跃的最大长度。如果能够跳到数组最后一个位置,则返回true,否则返回false。
数据范围:


示例1

输入

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

输出

true

说明

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

输入

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

输出

false

说明

无论怎么样,都跳不到nums[6]=100的位置   
头像 youxiwang
发表于 2022-02-06 15:56:27
假DP 从前往后遍历每一个点,更新目前能跳到的最远的点 import java.util.*; public class Solution { public boolean canJump (int[] nums) { int reach = 0; // 目前最远能跳到的点 展开全文
头像 不会做题的小菜鸡
发表于 2022-02-28 21:55:01
题目分析 题目给出我们一个数组,数组中每个数字表示当前位置能够向数组末尾前进的步数 题目要求我们判断给定数组下,是否能从数组开始位置到达末尾位置,返回判断的结果 方法一:动态规划(超时) 实现思路 我们用一个一维的dp数组,dp[i]=1表示当前位置i可以到达 我们遍历nums数组 展开全文
头像 Linzh-
发表于 2022-03-23 20:31:40
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return bool布尔型 展开全文
头像 红烧吹风机
发表于 2022-08-12 20:48:22
用dp[i]表示在第i个位置,能跳的最远距离。 所以状态转移方程就是: dp[i] = max( dp[i-1],i+nums[i] ) 要么前一个位置跳的比当前位置远,要么现在这位置跳的远 需要注意边界条件,当前位置最远能跳到的位置如果就是自己本身,那么就是无法跳到结尾的情况 最终就是判断 展开全文
头像 牛客82035003号
发表于 2022-04-12 20:41:41
在下标为i处能跳到的最远地方是i+num[i],整个跳跃过程能跳到的最远地方是reach. 最大下标是numslen -1,如果reach >= numslen-1,说明可以跳到,否则就跳不到。 每到一个位置就要更新reach,并检查是否可以跳到最后一格 #include<s 展开全文
头像 Louis201907010812408
发表于 2023-07-26 23:48:05
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @r 展开全文
头像 倔强小头
发表于 2021-11-26 19:38:47
import java.util.*; public class Solution { public static boolean canJump(int[] nums) { int res=0; for (int i = 0; i < nums.length; i++) { if(i> 展开全文
头像 2ez4me
发表于 2022-04-01 19:47:20
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * 展开全文
头像 爱写算法的小哥
发表于 2024-04-05 21:43:45
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return bool布尔型 # class Solution: def canJump(self , nums ) 展开全文
头像 佛说wh
发表于 2022-09-13 11:08:13
2022.0913算法第57题跳跃游戏(一) 这道题目使用贪心算法,代码简单,但是感觉还是挺难想的 每次都要找到当前位置所能跳到的最远位置,在最远位置内的位置都是能够到达的, bool canJump(vector<int>& nums)&nb 展开全文

问题信息

上传者:牛客301499号
难度:
14条回答 2834浏览

热门推荐

通过挑战的用户

查看代码
跳跃游戏(一)