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

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

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

示例 1:

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

示例 2:

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

即挨着跳跃,并维护一个能跳到最远的值;每跳一次,更新一次该值。
如果发现了跳跃的次数大于能够跳到最远的值,说明终点不可达

实现如下(大佬实现—牛逼)

bool canJump(vector<int>& nums) {int k = 0;for (int i = 0; i < nums.size(); i++){if (i > k) return false;k = max(k, i + nums[i]);}return true;
}

我的实现:

bool canJump(vector<int>& nums) {if (nums.size() == 0) {return true;}int jump = 0;int max_index = nums[0];while(jump < nums.size()) {if (jump > max_index) {return false;}if (nums[jump] + jump > max_index) {max_index = nums[jump] + jump;}jump ++;}return true;
}

leetcode-55 跳跃游戏相关推荐

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

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

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

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

  3. LeetCode 55. 跳跃游戏(贪心)

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

  4. Java实现 LeetCode 55 跳跃游戏

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

  5. LeetCode 55. 跳跃游戏

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

  6. LeetCode 55跳跃游戏56合并区间57插入区间

    原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...

  7. 贪心法——LeetCode 55 跳跃游戏

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

  8. leetcode - 55. 跳跃游戏

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

  9. Leetcode 55.跳跃游戏 (每日一题 20210706)

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

  10. leetcode 55. 跳跃游戏 思考分析

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

最新文章

  1. (六)java多线程之ReadWriteLock
  2. 马斯克很着急:加速打造“月球电梯”,他要从NASA手中抢到这一单
  3. js之字面量、对象字面量的访问、关键字in的用法
  4. Android开发之Retrofit小试牛刀
  5. java中大数开方_大数开方(Java版)
  6. python基础整理——关于进制输出初探
  7. sql server 中DateName()函数及DatePart()函数
  8. 许久了,都体会不到恋爱的气息
  9. [UE4]关闭自动曝光
  10. 艾蔻智能机器人怎么连接网络_智能建筑背后的关键技术:无处不在的网络连接...
  11. 高通msm8909 平台camera 系统软件架构
  12. 计算机文化基础知识点第十一版,计算机文化基础知识点总结(经典版) 考试专用.doc...
  13. 在Ubuntu18.04上安装视频播放器smplayer
  14. html盒子浮动分栏,DIV浮动定位实现CSS分栏布局
  15. python做动画视频教程_Python入门教程:Python创建动画竟然这么简单!
  16. 产品必备技能(十一):如何写产品分析报告?附实产品分析报告实例(闲鱼)
  17. jsp+servlet实现的简单登录验证
  18. leveldb代码阅读笔记(一)
  19. hive:条件:where and or
  20. free ***是什么

热门文章

  1. C++ primer 第七章之 友元函数与友元类
  2. JavaScript总结(七)
  3. linux安装vsftpt服务,centos安装vsftp服务.md
  4. EK算法网络流模板hdu1532
  5. 狗年拜年php源码,2018狗年拜年词大全!再也不担心拜年没祝词啦~祝您新年快乐!...
  6. b站看那个的python_用Python获取B站播放历史记录 !男友居然天天背着我看这些!...
  7. excel python开发_Excel + Python = 威力无比
  8. java增加final,Java8增加功能--Effectively final 功能
  9. php 一秒操作一次_php守护进程 加linux命令nohup实现任务每秒执行一次
  10. linux 挂载分区inode,Linux中分区挂载和LABEL的指定