LeetCode第[55]题(Java):Jump Game
2024-08-26 05:30:52
题目:跳跳游戏
难度:Medium
题目内容:
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.
翻译:
给定一个非负整数数组,您最初被定位在数组的第一个索引中。
数组中的每个元素代表您在该位置的最大跳跃长度。
确定你是否能够到达最后一个索引。
Example 1:
Input: [2,3,1,1,4]
Output: true
Explanation: 第一步,跳2步到索引2,第二步跳1步到索引3,第三步跳1步到索引4,到达
第一步,跳1步到索引1,第二步跳3步到索引4,到达
Example 2:
Input: [3,2,1,0,4]
Output: false
Explanation: 无论如何,你总是会到达索引3。它的最大跳转长度为0,这使得到达最后一个索引是不可能的。
我的思路:不知道咋做。。。
答案代码:
public boolean canJump(int[] A) {
int max = 0;
for(int i=0;i<A.length;i++){
if(i>max) {return false;}
max = Math.max(A[i]+i,max);
}
return true;
}
答案思路:因为所跳的步数能从0到A[ i ] 都行所以只要前面能达到的最远下标的最大值能大于后面的下标,就表示能跳到,否则跳不到。能达到的最远下标为A[i] + i 。
eg.:[3,2,1,0,4]
前面三个的能达到的最远下标最大值为3,所以此时最远只到下标3,而下标3的最远下标是自己,到了下标4进行判断发现前面的最远下标比自己的下标小,所以跳不到。
最新文章
- bzoj3506 [Cqoi2014]排序机械臂
- 如何根据iframe内嵌页面调整iframe高宽续篇
- Extjs3.3 + swfUpload2.2 实现多文件上传组件
- 比较js中创建对象的几种方式
- HDOJ(HDU) 2061 Treasure the new start, freshmen!(水题、)
- 前端自动化部署之gulp
- (入门篇 NettyNIO开发指南)第四章-TIP黏包/拆包问题解决之道
- 201521123093 java 第三周学习总结
- 系统的讲解 - SSO单点登录
- Spring MyBatis多数据源(同包)
- Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
- 爬虫之requests请求库
- flex布局之flex-basis采坑
- python自动化之鼠标移动
- jenkins之另辟蹊径实现根据svn项目实现智能选择
- marquee 标签的使用介绍
- SQL查询语句执行的逻辑顺序
- AC日记——[SHOI2008]小约翰的游戏John bzoj 1022
- linux ftp、sftp、telnet服务开通、更改Orale最大连接数
- java中枚举类型的使用