前言今天是周五,我们来和大家玩一个跳跃游戏题目给定一个非负整数数组nums,你最初位于数组的第一个下标处。数组中的每个元素代表您可以在该位置跳跃的最大长度。判断是否能到达最后一个下标。示例1:输入:nums=[2,3,1,1,4]输出:true解释:可以先跳1步,从下标0跳到下标1,然后从下标1跳3步到最后一个下标.示例2:输入:nums=[3,2,1,0,4]输出:false解释:无论如何,总会到达下标3的位置。但是这个下标的最大跳转长度是0,所以永远不可能到达最后一个下标。分析简单分析一下,从题目来看,要到达最后一个下标必须满足两个条件:1、假设每个位置都可以跳转到,那么我们只需要遍历数组,看有没有位置可以跳转到直接通过这个位置的Numbers跳转到最后。比如[2,3,2,1,4],我们遍历数字看哪个位置可以跳到最后,可以发现第三个位置的数字是2,所以我们可以通过跳转到最后一个下标第三位,阵法成立。2.上述假设成立的另一个条件是每个位置是否可以跳转到。比如[2,0,2,1,4],按照上面的逻辑,第三个位置可以跳到最后一个下标。但是,能达到第三的位置吗?如果第三个位置达不到,那么最后一个位置呢?本例中第一个位置是2,可以跳到第三个位置。如果改成[1,0,2,1,4],第三个位置就达不到了。结合上面的分析,我们可以得到如下解决方案:publicbooleancanJump(int[]nums){//最大可以到达的位置kintk=0;//遍历数组for(inti=0;i
