java编程–跳跃的最大长度
如有编辑错误欢迎指正
#题目描述
跳跃最大长度
【问题描述】给一个非负整数数组。假设你最初的位置为0,数组中每一个元素的值代表你能跳跃最大的长度,判断是否能达到数组的最后一个位置
【输入形式】第一行数组长度
第二行输入一个非负整数数组
【输出形式】布尔类型的值
【样例输入】
5
1 2 3 1 4
【样例输出】
true
#题目分析
本题解决的关键之处在于正确解读题目含义。
即:当初数是我可以跳跃的最大长度,我可以跳
的当前长度应该是在这个区间内。
#代码解决
package test2;
import java.util.Scanner;
public class test2{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
{
a[i]=in.nextInt();
}
int maxd=0;
boolean flag=false;
for(int i=0;i<n;i++)
{
maxd=i+a[i];
if(maxd==i&&i!=n-1)
{
flag=false;
break;
}
if(maxd>=n-1)
{
flag=true;
break;
}
}
if(flag==false)
System.out.println("false");
else
System.out.println("true");
}
}
//关键就是理解题意~
#结果验证