java__给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。
2017-03-05 00:06
986 查看
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; } }
相关文章推荐
- 给定一个非负整数数组,最初定位在数组的第一个索引处。组中的每个元素表示您在该位置的最大跳跃长度。求最小跳数
- 给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组 最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上
- 给定一个排序数组,删除重复的位置,使每个元素只出现一次,并返回新的长度。
- 华为:给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数。。 .
- 华为:给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数。。
- 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)
- Java开发练习1,输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 面试题:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字
- 在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入 一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的 元素往前挪。(让空出的位置在最后)
- 作业5:输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- leetcode-java.T015_3Sum---给定一个n个元素的数组,是否存在a,b,c三个元素,使用得a+b+c=0,找出所有符合这个条件的三元组
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 编写一个Java程序,创建制定长度的int型数组,并生成100以内的随机数为数组的每个元素赋值
- java 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- 将数据中的元素都向前移动一个位置,最后一个元素的值是原来第一个元素的值,然后输出这个数组。
- 不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标
- 输入一个数组,最大的元素与第一个元素交换,最小的元素与最后一个元素交换
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字