网站建设竞价托管什么意思,做任务悬赏网站,西安制作标书的公司,设计有特色的网站题目
给你一个非负整数数组 nums #xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标#xff0c;如果可以#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。 示例 1#xff1a…题目
给你一个非负整数数组 nums 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标如果可以返回 true 否则返回 false 。 示例 1 输入nums [2,3,1,1,4] 输出true 解释可以先跳 1 步从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。
分析
数组中的每个元素表示在该位置上可以跳跃的最大长度比如第1个元素是3它的下标是1那就说明这个元素最远可以跳到13也就是下标为4的位置。我们可以用一个变量记录所有元素中能到达的最大位置注意当元素的下标比这个变量大的时候说明前面的元素没办法跳跃到当前位置就可以返回false了一直到最终这个变量的值达到数组的最后一个位置的时候说明可以跳跃到
public class jumpGame {public static void main(String[] args) {int[] arr {3,2,1,0,4};System.out.println(isReach(arr));}public static boolean isReach(int[] arr) {int len arr.length;int res 0;for(int i 0;ilen;i) {if(i res || res len-1) {break;}res Math.max(res,iarr[i]);}return res len-1;}
}