跳跃的数字
来源:互联网 发布:威锋网 mac office 编辑:程序博客网 时间:2024/04/29 10:40
给定一个非负整数数组,假定你的初始位置为数组第一个下标。
数组中的每个元素代表你在那个位置能够跳跃的最大长度。
请确认你是否能够跳跃到数组的最后一个下标。
例如:A=[2,3,1,1,4] 能够跳跃到最后一个下标,输出true
;
A=[3,2,1,0,4] 不能跳跃到最后一个下标,输出false
。
输入格式
第一行输入一个正整数 n(1≤n≤500),接下来的一行 n 个整数,输入数组 Ai。
输出格式
如果能跳到最后一个下标,输出true
,否则输出false
。
样例输入
52 0 2 0 1
样例输出
true
这道题目需要用到递归和贪心算法的思想,每次从当前数组的位置往后跳跃的时候,取最大能够跳的位置,然后每次以同样的方法跳跃,这是一个递归的过程,当跳出了数组的长度时,此时递归结束,返回true,否则,以最大跳跃递减进行跳跃,当所有可能的跳跃都执行结束,还没有到达数组的最后一个位置,那么返回false。注意这里有一个需要注意的地方,如果递归最底层的函数没有达到数组最后一个位置,那么当前位置的最大跳跃长度应置为-1,这样会提高很多的性能。如果没有加上这个语句,会使程序超时。
阅读全文
1 0
- 跳跃的数字
- 跳跃的数字2(动态规划实现)
- 统计正确的电话号码,数字马字跳跃
- 跳跃!跳跃!不断的跳跃!《Jump and Fly》的世界
- hdu 4278 码表数字跳跃找规律
- 跳跃的幻想
- 微博的跳跃
- 跳跃表的实现
- 跳跃的圆形幻灯片
- 时间的跳跃处理
- 跳跃数的判断
- 欢乐的跳跃者
- 跳跃表的实现
- 跳跃表的实现
- 跳跃表的实现
- 跳跃的设计
- 跳跃的蚂蚱
- 跳跃的蚂蚱
- k.计软联谊 「游族杯」上海市高校程序设计邀请赛(数论)
- vue事件绑定详解
- android fragment懒加载细致解析
- TensorFlow 学习
- 【swift】点击textfield弹出日历等
- 跳跃的数字
- python 基础知识回顾篇之简单迭代和列表生成
- 使用Google Cartographer算法在Turtlebot等移动平台上跑SLAM
- Android架构那些事之第三方库的隔离(转)
- python网络编程基础socket模块
- 关于Objective C 中的nil,Nil,NULL和NSNull的理解
- shell脚本之字符串截取
- java的SSM框架整合时Tomcat循环读取错误bean重合小问题
- Arduino Uno SD卡模块 (二)读取文件