LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)

来源:力扣(LeetCode)
链接:题目跳转

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。

示例 1:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。
示例 2:

输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

提示:

1 <= nums.length <= 3 * 104
0 <= nums[i] <= 105

分析:

读完题目后,首先要明确一个意思

从当前位置A 能够到达某一个位置B,那么从当前位置A 都可以到达某一位置B 左侧的所有位置x,此时可以选择在这个位置x停下来,或者不停。

引用力扣大佬解题思路:

1、如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点
2、可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新。
3、如果可以一直跳到最后,就成功了。

上代码

public static boolean canJump(int[] nums) {//定义max,表示能跳到最大的位置int max = 0;for (int i = 0; i < nums.length; i++) {//如果某个位置距离i>max,说明就不能跳到这里if (i > max) {return false;}//这里nums[i] + i ,说明上面i<max,从而说明,是可以跳到这个位置的,当前位置。//然后就判断,当前的最大值max和这个位置i+num[i]比较大小,取最大。max = Math.max(max, nums[i] + i);}return true;}

LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)相关推荐

  1. 力扣55.跳跃游戏(比较简单)

    文章目录 力扣55.跳跃游戏(比较简单) 题目描述 算法思路 代码实现 力扣55.跳跃游戏(比较简单) 题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代 ...

  2. 力扣55. 跳跃游戏(JavaScript)

    //每个节点的最大覆盖范围是否能覆盖终点 var canJump = function(nums) {//只有一个,已经在终点if(nums.length==1){return true}//每个数的 ...

  3. 力扣-55 跳跃游戏

    # 超时 class Solution:def canJump(self, nums: List[int]) -> bool:# 回溯+贪心算法if len(nums) == 1:return ...

  4. 力扣-55.跳跃游戏

    nums[i] 表示能跳的最远距离 i+nums[i] 表示能跳到的最远距离下标,当能跳到的最远距离大于最后一个位置时表示TRUE 初始化最远距离为0 class Solution(object):d ...

  5. 力扣174. 地下城游戏

    力扣174. 地下城游戏 文章目录 力扣174. 地下城游戏 一.题目描述 二.分析 三.完整代码 一.题目描述 二.分析 这个题一看就可以用动态规划,就需要确定动态规划的状态和选择以及状态转移方程 ...

  6. 力扣——174.地下城游戏(困难难度)——万能的递归与动态分析

    力扣--174. 地下城游戏 一.算法目录合集 1.地址 2.说明 二.题目说明 1.题干 2.原地址 三.实现步骤 1.思路分析 1.1.分析问题 1.2.具体步骤 ① 特殊情况分析 ② 常规分析 ...

  7. 力扣 -- 174. 地下城游戏

    题目链接:174. 地下城游戏 - 力扣(LeetCode) 下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴. 参考代码: class Solution { ...

  8. 力扣45跳跃游戏II(难)JAVA

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

  9. 动态规划-博弈问题-力扣877-石子游戏

    亚历克斯和李用几堆石子在做游戏.偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] .游戏以谁手中的石子最多来决出胜负.石子的总数是奇数,所以没有平局.亚历克斯和李轮流进行,亚历克斯先开始. ...

最新文章

  1. 从GitHub上无法下载子模块问题解决
  2. Golang项目部署
  3. Nexus刷官方下载的映像_occam
  4. 这个省到2025年,PUE>1.3存量大型数据中心将全部腾退关停!
  5. nacos 启动_【Nacos源码之配置管理 一】阅读源码第一步,本地启动Nacos
  6. Python框架篇之Django(Template基础:模板语法、过滤器filter)
  7. diskcheck.sh
  8. 以太坊智能合约开发第五篇:字符串拼接—Solidity
  9. man后面的数字(转)
  10. linux 脚本 日志文件,在linux下用脚本输出日志
  11. 基于校园图书管理系统需求分析
  12. 前端工程师月薪上万的秘密
  13. Oracle VM VirtualBox 安装增强功能
  14. 新浪微博开放平台API访问频率限制解决方法
  15. Keil暗色模式配置文件
  16. elasticsearch 实现查询忽略大小写
  17. PS制作gif动态图
  18. getline()详解
  19. java 压缩加密_Java实现自动压缩文件并加密的方法示例
  20. OriginPro常用配置

热门文章

  1. 如何上架自己的应用到各大应用商店?
  2. 从源码角度浅谈IRP
  3. 告诉你宇宙的真相:现代观点
  4. 将ResNet分类器做成一个小网站界面
  5. 评测酷睿i5 1240p和锐龙r5 6600u选哪个 i51240p和锐龙r56600u对比
  6. TECH数字中国2021技术年会 | 神州控股、神州信息、神州数码集团合力打造 “神州信创云”
  7. java以前版本下载方式
  8. verilog HDLBits Verilog语法
  9. IntelliJ idea中集成多个git项目模块
  10. 硬件电路设计之如何设计一个STM32最小系统?