LeetCode //55. Jump Game

这篇具有很好参考价值的文章主要介绍了LeetCode //55. Jump Game。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

55. Jump Game

You are given an integer array nums. You are initially positioned at the array’s first index, and each element in the array represents your maximum jump length at that position.

Return true if you can reach the last index, or false otherwise.

 

Example 1:

Input: nums = [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: nums = [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index.

Constraints:
  • 1 < = n u m s . l e n g t h < = 1 0 4 1 <= nums.length <= 10^4 1<=nums.length<=104
  • 0 < = n u m s [ i ] < = 1 0 5 0 <= nums[i] <= 10^5 0<=nums[i]<=105

From: LeetCode
Link: 55. Jump Game文章来源地址https://www.toymoban.com/news/detail-573519.html


Solution:

Ideas:
  • Initialize lastPos to the last index of the array. This is the target we want to reach.
  • Loop backwards through the array.
  • For each index i, check if we can jump from that index to lastPos or further.
  • If so, update lastPos to i. This means we know we can reach index i, and just need to check if we can reach i from before.
  • After looping, if lastPos is 0, it means we can reach the start, so return true.
  • If lastPos is not 0, we cannot reach the start, so return false.
Code:
bool canJump(int* nums, int numsSize){
  int lastPos = numsSize - 1;
  for(int i = numsSize - 1; i >= 0; i--){
    if(i + nums[i] >= lastPos){
      lastPos = i;
    }
  }
  return lastPos == 0; 
}

到了这里,关于LeetCode //55. Jump Game的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法leetcode|55. 跳跃游戏(rust重拳出击)

    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 1 = nums.length = 3 * 10 4 0 = nums[i] = 10 5 面对这道算法题目,二当家的再次陷入了沉思。 可能想到要暴力尝试或者是双循环

    2024年02月08日
    浏览(108)
  • 【算法】动态规划 ⑦ ( LeetCode 55. 跳跃游戏 | 算法分析 | 代码示例 )

    LeetCode 55. 跳跃游戏 : https://leetcode.cn/problems/jump-game/ 给定一个 非负整数数组 nums ,你最初位于数组的 第一个下标 0 位置 。 数组中的每个元素 代表你在该位置可以 跳跃的最大长度。 判断你 是否能够到达最后一个下标。 给定一个一维数组 , 数组元素不能有负数 , 如 : {2, 2,

    2024年02月10日
    浏览(39)
  • 【LeetCode 算法】Find the Losers of the Circular Game 找出转圈游戏输家

    n 个朋友在玩游戏。这些朋友坐成一个圈,按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i + 1) 个朋友的位置( 1 = i n ),而从第 n 个朋友的位置开始顺时针移动 1 步会回到第 1 个朋友的位置。 游戏规则如下: 第 1 个朋友接球。 接着,第

    2024年02月12日
    浏览(54)
  • 二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”

    各位CSDN的uu们你们好呀,今天继续数据结构与算法专栏中的二叉树,下面,让我们进入二叉树的世界吧!!! 二叉树(上)——“数据结构与算法”_认真学习的小雅兰.的博客-CSDN博客 二叉树链式结构的实现 二叉树链式结构的实现 求二叉树的高度 但是这种写法有很大的问题

    2024年02月17日
    浏览(41)
  • LeetCode55. 跳跃游戏

    给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 示例 2: 方法一:贪心 我们可以用贪心的方法解决这个问题。 设想一下,对于数组中的任意一个位置 y,我们如何判

    2024年02月02日
    浏览(40)
  • leetcode55.跳跃游戏 【贪心】

    题目: 给你一个非负整数数组  nums  ,你最初位于数组的  第一个下标  。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回  true  ;否则,返回  false  。 示例: 示例 1: 示例 2: 思路: 不能遍历依次遍历每

    2024年02月10日
    浏览(39)
  • Killing LeetCode [55] 跳跃游戏

    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 Ref Link:https://leetcode.cn/problems/jump-game/ Difficulty:Medium Tag:Array、Dynamic Programming Updated Date:2023-07-15 示例1: 示例 2:

    2024年02月16日
    浏览(37)
  • LeetCode刷题——55. 跳跃游戏(HOT100)

    ✊✊✊🌈大家好!本篇文章将较详细介绍贪心相关的题目 55. 跳跃游戏 ,提供两种解法。代码语言为: C++代码 😇。 🔒1、题目: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最

    2024年01月20日
    浏览(48)
  • LeetCode-Java:55.跳跃游戏

    给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 示例 2: ①暴力递归法,将情况分解为当前元素是0则此路不通,非

    2024年02月05日
    浏览(46)
  • 代码随想录刷题第55天|Leetcode392判断子序列、Leetcode115不同的子序列

    1、Leetcode392判断子序列 题目链接:392判断子序列 本题与1143最长公共子序列 有一点不一样,最长公共子序列求 两个字符串 的最长公共子序列的长度,本题判断s是否为t的子序列。即t的长度是大于等于s的。 1、确定dp数组及下标含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包