LeetCode解题报告 55. Jump Game [medium]
来源:互联网 发布:宁波淘宝美工培训 编辑:程序博客网 时间:2024/05/16 02:34
题目描述
Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Determine if you are able to reach the last index.
For example:
A = [2,3,1,1,4]
, return true
.
A = [3,2,1,0,4]
, return false
.
解题思路
利用贪心算法,贪心算法正确的条件是,每一步的最优解一定包含上一步的最优解。
在本题中,在每一个位置上,从该位置出发,所能达到的最大范围是i+nums[i]。
如果在该范围中,有能到达的更大的范围,则选择用新的最大范围;
当这个范围大于或等于最后一位的位置时,则返回true;
当这个范围无法到达遍历过程中的第i位时,则最大范围都到不了,就没有能到达的了,返回false。
复杂度分析
时间复杂度为O(n)。
代码如下:
class Solution {public: bool canJump(vector<int>& nums) { int maxreach=0; for (int i=0; i<nums.size(); i++) { if (maxreach<i) { return false; } if (maxreach>=nums.size()-1) { return true; } maxreach=max(maxreach,i+nums[i]); } return true; }};
0 0
- LeetCode解题报告 55. Jump Game [medium]
- [leetcode] 55. Jump Game 解题报告
- [Leetcode] 55. Jump Game 解题报告
- LeetCode 55. Jump Game 解题报告
- Leetcode Jump Game 解题报告
- 【LeetCode】Jump Game 解题报告
- [LeetCode] Jump Game 解题报告
- 【LeetCode】55. Jump Game (Medium)
- 55. Jump Game解题报告
- Leetcode #55. Jump Game 跳跃游戏 解题报告
- Leetcode Jump Game II 解题报告
- 【LeetCode】Jump Game II 解题报告
- [leetcode] 45. Jump Game II 解题报告
- [LeetCode] Jump Game II 解题报告
- leetcode解题报告:45. Jump Game II
- [Leetcode] 45. Jump Game II 解题报告
- Leetcode 55. Jump Game (Medium) (cpp)
- Leetcode 55. Jump Game (Medium) (java)
- netstat -an,提示:不是内部或外部命令,也不是可运行的程序或批处理文件。
- 【LeetCode014-015算法/编程练习C++】最长共同前缀,3Sum(和为0) //用到了map的自动排序
- Android 如何代码修改SeekBar进度颜色,不用xml
- 40. springboot + devtools(热部署)【从零开始学Spring Boot】
- 对象的"可枚举"到底有啥用?
- LeetCode解题报告 55. Jump Game [medium]
- 2016年,失望,开心,耐心,学习,梦想,领悟,惋惜,展望
- 深度学习与语音识别—常用声学模型简介
- JS中setTimeout('startTime()',500)为什么通常设置500或者更小?
- CC2541_串口无法打印的流控问题
- PHP非阻塞异步任务调用函数代码
- resultSet与实体类和JSON之间的相互转化
- HTTP传递数据的几种方法
- JavaFTP文件传输 简单实现