题目

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

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

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

题解

方法一:回溯(暴力法递归)

算法

代码

class Solution {public:bool Jump(vector<int>& nums, int pos) {int n = nums.size();if (pos == n - 1)return true;int further = pos + nums[pos] > n - 1 ? n - 1 : pos + nums[pos];for (int i = further; i > pos; i--)if (Jump(nums, i))return true;return false;}bool canJump(vector<int>& nums) {return Jump(nums, 0);}
};

分析


方法二:回溯(记忆化递归)

算法

代码

class Solution {public:bool Jump(vector<int>& nums, int pos, int mem[]) {if (mem[pos] == 1)return true;if (mem[pos] == 2)return false;int n = nums.size();if (pos == n - 1) {mem[pos] = 1;return true;}int further = pos + nums[pos] > n - 1 ? n - 1 : pos + nums[pos];for (int i = further; i > pos; i--)if (Jump(nums, i, mem))return true;mem[pos] = 2;return false;}bool canJump(vector<int>& nums) {int *mem = new int[nums.size()]{0};return Jump(nums, 0, mem);}
};

分析


【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. Spark函数:cogroup
  2. linux shell mkdosfs 命令用于建立 dos 文件系统
  3. jvm调优:何为垃圾及与c++的对比
  4. 【Linux环境】SSH突然无法连接【排查2个小时最终解决Failed to start OpenSSH server daemon】及【阿里云服务器的 kdevtmpfsi 挖矿病毒处理】
  5. C语言试题十九之根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)!
  6. 【腾讯优测干货分享】从压测工具谈并发、压力、吞吐量
  7. 新一代需求管理工具Trufun Bacon X正式发布!
  8. php header()的用法
  9. [Ariticle]番禺绿地和我小时候的故事
  10. ADMT3.1快速迁移域用户账户和组[为企业维护windows server 2008系列十四]
  11. !学习笔记:前端测试 、前端调试、console 等
  12. 扫地机器人半湿拖布_告别干湿不均,懂湿拖的自动扫地机器人最在行
  13. 3个月攻破CCNA:12周教程资料盘点
  14. 某传销app的用户信息泄露
  15. 嵌入式三级知识点整理
  16. Android中DRM版权保护机制的研究
  17. Android如何实现超级棒的沉浸式体验
  18. 四叉树 Quadtrees
  19. 推荐1位AI产品经理求职信息(企业方可要简历),新增3个JD(共计59个、AI PM可内推)...
  20. java求因子_一个数恰好等于它的因子之和java

热门文章

  1. 并行计算实战-双调排序
  2. Xilinx SelectIO 接口
  3. jittor和pytorch生成网络对比之dragan
  4. keras网络变为pytorch网络的一些参考
  5. CNN+CTC语音识别
  6. 良好的编码习惯 —— 5 个提高代码质量的技巧
  7. 云场景实践研究第85期:墨迹天气
  8. EMC virtual provisining and fast vp
  9. swift 之SnapKit 动画
  10. 基于SSM实现在线课程学习及作业提交系统