import java.util.Scanner; public class Main { public static void main(String[] args){ int arr[]=new int[1000]; Scanner in=new Scanner(System.in); int n=in.nextInt(); for(int i=0;i<n;i++) arr[i]=in.nextInt(); if(Jump(n,arr,0)==1) System.out.println("true"); if(Jump(n,arr,0)==0) System.out.println("false"); }
static int Jump(int n,int arr[],int x) { if(x>=n-1) return 1; for(int i=arr[x];i>0;i--) { if(Jump(n,arr,x+i)==1) return 1; else arr[x+i]= -1; } return 0; } }
java__给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。
最新推荐文章于 2024-05-25 11:16:40 发布