【LeetCode】55.跳跃游戏
题目
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
题解
方法一:回溯(暴力法递归)
算法
代码
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.跳跃游戏相关推荐
- LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)
LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...
- LeetCode 55. 跳跃游戏 中等难度
55. 跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1, ...
- LeetCode 55. 跳跃游戏(贪心)
1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1,4] 输出: ...
- Java实现 LeetCode 55 跳跃游戏
55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- LeetCode 55. 跳跃游戏
55. 跳跃游戏 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 代码 ...
- LeetCode 55跳跃游戏56合并区间57插入区间
原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...
- 贪心法——LeetCode 55 跳跃游戏
跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- leetcode - 55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: true ...
- Leetcode 55.跳跃游戏 (每日一题 20210706)
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 .数组中的每个元素代表你在该位置可以跳跃的最大长度.判断你是否能够到达最后一个下标.示例 1:输入:nums = [2,3,1,1,4] ...
- leetcode 55. 跳跃游戏 思考分析
题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例1: 输入: [2,3,1,1,4] 输出: tru ...
最新文章
- Spark函数:cogroup
- linux shell mkdosfs 命令用于建立 dos 文件系统
- jvm调优:何为垃圾及与c++的对比
- 【Linux环境】SSH突然无法连接【排查2个小时最终解决Failed to start OpenSSH server daemon】及【阿里云服务器的 kdevtmpfsi 挖矿病毒处理】
- C语言试题十九之根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)!
- 【腾讯优测干货分享】从压测工具谈并发、压力、吞吐量
- 新一代需求管理工具Trufun Bacon X正式发布!
- php header()的用法
- [Ariticle]番禺绿地和我小时候的故事
- ADMT3.1快速迁移域用户账户和组[为企业维护windows server 2008系列十四]
- !学习笔记:前端测试 、前端调试、console 等
- 扫地机器人半湿拖布_告别干湿不均,懂湿拖的自动扫地机器人最在行
- 3个月攻破CCNA:12周教程资料盘点
- 某传销app的用户信息泄露
- 嵌入式三级知识点整理
- Android中DRM版权保护机制的研究
- Android如何实现超级棒的沉浸式体验
- 四叉树 Quadtrees
- 推荐1位AI产品经理求职信息(企业方可要简历),新增3个JD(共计59个、AI PM可内推)...
- java求因子_一个数恰好等于它的因子之和java