55. Jump Game(dp, 贪心)
来源:互联网 发布:一知f君2月13号 编辑:程序博客网 时间:2024/06/06 09:37
https://leetcode.com/problems/jump-game/description/
题目:判断是否可以跳到最后一个节点?
解法一:只要有一个可达的子节点能够到达最后一个节点,该节点即可到达最后一个子节点,否则无法到达。我们从后往前遍历。 例如: (0表示不可达,1表示可达)
3 2 1 0 4 0 0 0 0 1
所以我们得出不可达。
class Solution {public: bool canJump(vector<int>& nums) { int len=nums.size(),temp; int *B=new int[len]; for(int x=len-1;x>=0;x--) { B[x]=(x==len-1)?1:0; for(int y=1;y<=nums[x]&&x+y<len;y++){ if(B[x+y]==1){ B[x]=1; break; } } } temp=B[0]; delete [] B; return temp; }};
解法二:贪心。
黑色即为 fast 。黄线表示fast内部的线,我们并不需要考虑内部线,因为对于1号节点来说,它可以到达2,3号节点,但是后面我们会再一次判断2,3号节点。所以会重复,因此我们每次只需要考虑fast以外的点即可。
class Solution {public: bool canJump(vector<int>& nums) { int fast=nums[0],len=nums.size(); for(int x=1;x<len;x++) fast=(x<=fast&&x+nums[x]>fast)?x+nums[x]:fast; return fast>=len-1; }};
阅读全文
0 0
- 55. Jump Game(dp, 贪心)
- 55. Jump Game(贪心)
- 55. Jump Game(贪心)
- 55. Jump Game(贪心)
- [LeetCode]Jump Game II(贪心&&DP!!!!!)
- [leetcode]55. Jump Game 贪心
- leetcode 55. Jump Game [贪心]
- leetcode 55. Jump Game-贪心算法
- LeetCode 55. Jump Game|贪心算法
- leetcode.55.Jump Game(medium)[贪心算法]
- leetcode 55. Jump Game 贪心算法
- 55. Jump Game 【Medium】 贪心算法
- LeetCode 之 Jump Game(贪心算法)
- 45. Jump Game II (贪心)
- Leetcode 贪心 Jump Game
- Jump Game 贪心
- 贪心 Jump Game II
- [leetcode][贪心] Jump Game
- 现实中的规则引擎
- quartz设置misfire策略
- stl内存池剖析空间配置器
- 最基础的-----基于maven进行的SSM框架的整合的全部配置文件.
- 求数组中区间中最小数*区间所有数和的最大值
- 55. Jump Game(dp, 贪心)
- Xcode中的Version和Build的区别
- 运用Python实现多种排序的方法
- Firefox下载文件时中文名乱码问题
- MySQL基本练习
- SDK相关问题
- 研究生入门
- Android Wifi 信息保存与忘记
- ccf 交通规划