题目

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标。
示例 1:
输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

解题思路

使用贪心算法

  • 从第一个位置开始,找到可以跳跃到的最远位置
  • 在这个范围内查找下一次可以跳跃的最远位置
  • 重复以上动作,直至遍历完数组
  • 判断到达的最远位置是否>=数组的末尾

代码

class Solution {public boolean canJump(int[] nums) {int max = 0, end = 0;for (int i = 0; i < nums.length; i++) {max = Math.max(max, i + nums[i]);if (i == end) {end = max;max = 0;}}return end >= nums.length - 1;}
}

题目来源:力扣(LeetCode)

力扣题解: 55. 跳跃游戏相关推荐

  1. [力扣题解] 174. 地下城游戏 DP

    一.题目详情 原题链接:174. 地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿 ...

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

    LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...

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

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

  4. 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间

    本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...

  5. LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)

    LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...

  6. LeetCode 55. 跳跃游戏 中等难度

    55. 跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1, ...

  7. 力扣有没有java_力扣题解

    这里将告诉您力扣题解,具体实现方法:题目描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚 ...

  8. Java实现 LeetCode 55 跳跃游戏

    55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...

  9. Leecode 55跳跃游戏

    Leecode 55跳跃游戏 1.主要思路:从数组元素中是否含有零和零的位置思考 结果一定为true的情况: 如果前n-1个均大于等于1,则一定能够到达最后一个位置: 如果只有一个数(第一个数即最后一 ...

  10. LeetCode 55. 跳跃游戏

    ​​​​​​55. 跳跃游戏 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 代码 ...

最新文章

  1. presonus studio one 5中文版
  2. OpenCV2: Mat属性type,depth,step
  3. sql查询两个表结果相减_SQL 操作结果集 -并集、差集、交集、结果集排序
  4. 【拔刀吧少年】之sed编辑器
  5. commonJs原理解析
  6. uva 538Balancing Bank Accounts(构造)
  7. VMware客户端vSphere Web Client新建虚拟机
  8. ExtAspNet公司项目截图
  9. python 画图--简单开始及折线图
  10. SpringSocial简介
  11. Python--Redis实战:第一章:初识Redis:第一节:Redis简介
  12. iPhone X (XS XR XSMAX)如何根据状态栏上的图标 获取设备的联网状态(不是单个应用的)
  13. xp系统计算机蓝屏,xp蓝屏,教您教你怎么修复xp蓝屏问题
  14. iTop-4412 裸机教程(一)- 从启动方式开始
  15. 程序员需知的9个编程学习官网,建议收藏
  16. 对经认定的黄浦区区级企业技术中心给予每家30万元奖励
  17. 云​大数据和计算技术周报(第43期)
  18. python的字符串的使用
  19. 写给需要面试经验的交互设计师(上)
  20. 【C语言】题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

热门文章

  1. 系统设计-开放平台(一)
  2. Latex里一些特殊的数学符号
  3. dellemc服务器中文语言设置,美版windows10系统设置中文语言的方法
  4. 景安虚拟主机 Typecho设置伪静态教程 Apache 环境
  5. C# 实现xls类型转换为xlsx类型
  6. userdel: user xxx is currently used by process xxx 解决方案
  7. 解决IOS微信浏览器底部会出现向前向后返回按钮问题
  8. C#编程,Lazy(延迟初始化)用法
  9. Cadence orcad 删除元件名称的下划线
  10. php随机码生成有数字英文,用php生成一个可选位数的数字和英文随机码