【问题描述】
给一个非负整数数组。假设你最初的位置为0,数组中每一个元素的值代表你能跳跃最大的长度,判断是否能达到数组的最后一个位置
【输入形式】
第一行数组长度
第二行输入一个非负整数数组
【输出形式】
布尔类型的值
【样例输入】
5
1 2 3 1 4
【样例输出】
true
import java.util.Scanner; /** * @author liangyuanshao * @date 2021/4/2 - 12:04 */ public class Main { static int[] arr; static int n; public static void main(String[] args) { Scanner s = new Scanner(System.in); n=s.nextInt(); arr=new int[n]; for(int i=0;i<n;i++){ arr[i]=s.nextInt(); } System.out.println(jump(0)); s.close(); } public static boolean jump(int index){ int num=arr[index]; if(index==(n-1)){ return true; } boolean bool=false; for(int i=index+1;i<=(index+num);i++){ bool=jump(i); if(bool){ break; } } return bool; } }