LeetCode(一) jump game

一、

1、

#include<iostream>
#include<cmath> 
using namespace std;

bool CanJump(int n[],int num)
{
	if (num==1)
      return 1; //如果向量长度为 1,则 
	int loc; 
	int gla=0;
	for(int i=0;i<num-1;i++)
	{
		if(gla<i){  //进入不到下一步 
			break;
		} 
		loc=i+n[i]; //局部变量,每一个位置能达到的最远位置 
		gla=max(gla,loc);  //全局变量,达到的最大位置 ,一定要注意判断,两者融合的过程 
	}
	if(gla>=num-1)
	{
		return 1;
	}
	else{
		return 0;
	}
}
 
int main()
{
	int a[]={2,3,1,1,4};
    if(CanJump(a,5)==1)
    {
    	cout<<"True";
    }
    else{
    	cout<<"False";
    }
    return 0;
}

2、

当{3,2,1,0,4}时,如下结果

二、

猜你喜欢

转载自www.cnblogs.com/ruo-li-suo-yi/p/9280566.html