【问题描述】给一个非负整数数组。假设你最初的位置为0,数组中每一个元素的值代表你能跳跃最大的长度,判断是否能达到数组的最后一个位置
【输入形式】第一行数组长度
第二行输入一个非负整数数组
【输出形式】布尔类型的值
【样例输入】
5
1 2 3 1 4
【样例输出】
true
package com;
import java.util.Scanner;
public class Second {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int a[]=new int[n];
int result=1;
for(int i=0;i<n;i++)
{
a[i]=scanner.nextInt();
}
int maxd=0;
for(int i=0;i<n;i++){
int d=a[i]+i;
maxd=Math.max(maxd,d);
if(maxd==i&&i!=n-1)
{
result=0;
break;
}
}
if(result==1)
System.out.println("true");
else
System.out.println("false");
}
}