跳跃游戏

题目描述

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

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

判断你是否能够到达最后一个位置。

示例 1:

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

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

思路:

最大跳跃距离为:元素索引+元素值

  • 定义一个最大跳跃长度(从0开始算起,表示与起点的最大距离)并及时更新,遍历数组,当遍历完比较 最大的跳跃长度和数组的长度。如果数组的长度大于最大跳跃距离,则不满足规则,返回false。
  • 谈论0的情况,当遍历数组发现数组元素为0时,此时判读数组的索引加值是否大于之前元素产生的最大跳跃位置,并更新最大跳跃距离。
  • 遍历完如果没有返回false就返回true。

代码如下:

class Solution {public boolean canJump(int[] nums) {int reach=0;for(int i=0;i<nums.length;i++){if(i>reach){return false;}if(i+nums[i]>reach){reach=i+nums[i];}}return true;}
}

胖虎算法初练七之——跳跃游戏相关推荐

  1. 胖虎算法初练四之——有效的括号

    有效的括号 需求: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. ...

  2. 胖虎算法初练六之——外观数列

    外观数列 给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项. 注意:整数序列中的每一项将表示为一个字符串. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项 ...

  3. LeetCode算法题6:贪心 - 跳跃游戏

    文章目录 前言 贪心算法: 一.跳跃游戏 思路 二.跳跃游戏II 思路 总结 前言 贪心算法系列:(之前还有一篇文章描述的也是贪心算法:https://blog.csdn.net/Little_ant ...

  4. C++jump game跳跃游戏的算法(附完整源码)

    C++jump game跳跃游戏的算法 C++实现jump game跳跃游戏的算法完整源码(定义,实现,main函数测试) C++实现jump game跳跃游戏的算法完整源码(定义,实现,main函数 ...

  5. 贪心相关:柠檬水找零、买卖股票的最佳时机、分发饼干、跳跃游戏 ...

    文章目录 一.柠檬水找零 二.买卖股票的最佳时机 三.买卖股票的最佳时机II 四.分发饼干 五.模拟行走机器人(困难) 六.跳跃游戏 七.跳跃游戏II(困难) 一.柠檬水找零 注意:是按顺序收取,不是 ...

  6. 本文专注于lt;递归算法和分治思想[胖虎学习算法系列]

    本文专注于<递归算法和分治思想> 初衷:博主看到网上有很多人贴出各种OJ上的AC代码,很多都会标注上"递归"两字 我刚开始学习递归算法和分治法的时候,苦于没有人写出递归 ...

  7. 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和

    代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...

  8. 胖虎谈ImageLoader框架(四)

    前言 从学校出来的这半年时间,发现很少有时间可以静下来学习和写博文了,为了保持着学习热情,我希望自己抽出一部分时间来写一些Android框架源码阅读后的理解系列博文. 期许:希望可以和大家一起学习好此 ...

  9. LeetCode-笔记-45.跳跃游戏II-贪心算法

    LeetCode-笔记-45.跳跃游戏II-贪心算法 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后 ...

最新文章

  1. java-通过ip获取地址
  2. Android游戏开发的入门实例
  3. C++|OpenCV-HSV图像
  4. 又被ESLint 调戏了!!! ESLint:Newline required at end of file but not found. eslint(eol-last) [12, 22]
  5. 研发管理:该吵架就要吵架
  6. Language Models are Unsupervised Multitask Learners翻译
  7. IsValid函数基本用法
  8. “用户请求取消当前的操作”的几种解决办法
  9. Win10+1050Ti配置tensorflow-gpu教程 (解决1050ti配置cuda失败的问题)
  10. html显示当前小时分钟秒秋,北语18秋《网页制作》作业1234
  11. 称重管理系统服务器不通,称重管理系统使用方法(二)
  12. 英语语法回顾1——简单句
  13. 常见的国外主机提供商小结
  14. 免费壁纸背景高清图片素材网站
  15. PPPOE拨号691的问题
  16. 基于多模型融合的用户画像分析统计方法研究
  17. 星罗棋布:关于VPS测试脚本集锦内容
  18. USB-serial驱动分析(usb转串口)
  19. 1W存一年和两个5000存一年,收益有区别吗?
  20. Android SDK Manager详解

热门文章

  1. 寒武纪面试——实习生面经
  2. 区块链的去中心化账本有和意义?为什么要哈希运算?如何保证数据不可篡改?
  3. 弱鸡养成第九天(2020.10.26)- 多人合作项目的准备工作(这个人怎么又摸鱼
  4. CADENAS为Autodesk云端设计软件提供零部件数据解决方案
  5. ubuntu 星火商店
  6. 整理任正非思想:加强合作走向世界-1996
  7. 用Python判断矩阵是否为可逆矩阵
  8. html 中加载pdf,在HTML中嵌入PDF的推荐方法?
  9. python整数运算_Python实现整数的四则运算
  10. idea转eclipse的快捷键,keymap汇总