LintCode : 跳跃游戏
来源:互联网 发布:软件销售合作协议 编辑:程序博客网 时间:2024/05/11 03:02
LintCode : 跳跃游戏
题目
给出一个非负整数数组,你最初定位在数组的第一个位置。
数组中的每个元素代表你在那个位置可以跳跃的最大长度。
判断你是否能到达数组的最后一个位置。
样例
A = [2,3,1,1,4],返回 true.
A = [3,2,1,0,4],返回 false.
思路
我们知道当前节点可以向前跳跃的距离与当前节点与前一节点有关,考虑当前节点的话,我们当前所能跳跃的最大长度就是当前节点的值。考虑前一节点的话,我们当前所能跳跃的最大长度就是前一节点的跳跃长度 - 1;那么综合考虑两个因素,我们得到当前节点的跳跃长度为max(当前节点值,前一节点最大跳跃值 - 1);当遇到最长跳跃长度为0时,则说明无法到达终点。
代码
bool canJump(vector<int> A) { if(A[0] == 0) if(A.size() == 1) return true; else return false; int maxJump = A[0]; for(int i = 1; i < A.size() - 1; i++) { maxJump = max(maxJump - 1, A[i]); if(maxJump == 0) return false; } return true;}
0 0
- LintCode-跳跃游戏
- lintcode-跳跃游戏-116
- Lintcode—跳跃游戏
- [LintCode] 跳跃游戏
- lintcode ----跳跃游戏
- LintCode:跳跃游戏
- LintCode:跳跃游戏 II
- [Lintcode]跳跃游戏 II
- LintCode : 跳跃游戏
- LintCode 116-跳跃游戏
- LintCode 跳跃游戏 解答
- LintCode : 跳跃游戏
- 跳跃游戏-LintCode
- 跳跃游戏 II-LintCode
- lintcode--跳跃游戏
- lintcode --跳跃游戏II
- Lintcode 跳跃游戏
- [Lintcode] #116 跳跃游戏
- Android中Preference的使用以及监听事件分析
- C++实验3 多分数段函数求值
- 基础篇:获取线程返回值与守护线程的创建(二)
- Homogeneous Coordinates
- 一位良心发现的操盘手自述:我们是怎么玩弄散户的
- LintCode : 跳跃游戏
- HFUTOJ problem 1345实现总结
- DB2中IDENTITY COLUMN测试
- LeetCode-M-Single Element in a Sorted Array
- shell中的各种括号的使用方法
- linux修改文件或目录的所有者(chown)和用户组
- SLAM笔记(五)光束平差法(Bundle Adjustment)
- win2003迁移win2008r2 dcdiag错误报告,求大神解
- 鼠标放在某个导航上时,二级下拉菜单及导航整体向左出现偏移