题目:跳跳游戏

难度: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进行判断发现前面的最远下标比自己的下标小,所以跳不到。

最新文章

  1. bzoj3506 [Cqoi2014]排序机械臂
  2. 如何根据iframe内嵌页面调整iframe高宽续篇
  3. Extjs3.3 + swfUpload2.2 实现多文件上传组件
  4. 比较js中创建对象的几种方式
  5. HDOJ(HDU) 2061 Treasure the new start, freshmen!(水题、)
  6. 前端自动化部署之gulp
  7. (入门篇 NettyNIO开发指南)第四章-TIP黏包/拆包问题解决之道
  8. 201521123093 java 第三周学习总结
  9. 系统的讲解 - SSO单点登录
  10. Spring MyBatis多数据源(同包)
  11. Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
  12. 爬虫之requests请求库
  13. flex布局之flex-basis采坑
  14. python自动化之鼠标移动
  15. jenkins之另辟蹊径实现根据svn项目实现智能选择
  16. marquee 标签的使用介绍
  17. SQL查询语句执行的逻辑顺序
  18. AC日记——[SHOI2008]小约翰的游戏John bzoj 1022
  19. linux ftp、sftp、telnet服务开通、更改Orale最大连接数
  20. java中枚举类型的使用

热门文章

  1. 巨蟒python全栈开发数据库前端7:jQuery框架
  2. YOLO v1论文笔记
  3. VB 十六进制转汉字的函数
  4. 下载tree命令的源代码 - The Tree Command for Linux Homepage
  5. git 从远程仓库指定分支clone代码到本地
  6. N多条短信,用什么算法从中找出相似内容的来?
  7. Python-selenium 下拉框定位
  8. 初识ambari
  9. Java泛型二:通配符的使用
  10. Java泛型一:基本介绍和使用