题解 | #跳跃游戏(一)#
跳跃游戏(一)
http://www.nowcoder.com/practice/07484f4377344d3590045a095910992b
参考LK上大佬的代码;
int main()
{
int n,i , k = 0; // k表示最远能到达的距离;
cin>>n;
int a[n+1];
for(int i = 0; i < n ; i++)
cin>>a[i];
for(i = 0; i < n ; i++)
{
if(i > k)
{
cout<<"false"<<endl;
break;
}
k = max(k,i+a[i]);
}
if( i == n)
cout<<"true"<<endl;
return 0;
}
k 表示所能到达的最远距离,而i 表示当前距离;
所以 i > k 时表示不能到达;
