力扣-55.跳跃游戏(c语言实现)

题目描述:力扣-55.跳跃游戏(c语言实现)_第1张图片

看题目应该不能发现,如果都是大于0的数肯定必过;所以只要判断0之前的数会不会那个会不会大于这两个数下标的差;

代码实现:

bool canJump(int* nums, int numsSize){

    if(numsSize==1&&nums[0]==0) return true;

    if(nums[0]==0) return false;//任意数组第一个为0,就直接返回

    int k,j;//k为下标之间的差,j为那个数的下标;

    for(int i=0;i

    {

        if(nums[i]>0) continue;

        for(j=i-1,k=1;j>=0;j--){

            if(nums[j]>k) break;

            k++;

        }

        if(j<0) return false;//这个意思就是0之前没有数大于两个数下标的差;

    }

    return true;

}

 力扣-55.跳跃游戏(c语言实现)_第2张图片

 

你可能感兴趣的:(leetcode,c语言,算法)