OR109. 数组移动跳跃
描述
输入描述
一个非空的整数数组(至少有一个元素,可正可负)输出描述
按规则移动后是否能跳出数组示例1
输入:
[1]
输出:
true
示例2
输入:
[2,1,3,5]
输出:
true
示例3
输入:
[2,1,-3]
输出:
true
示例4
输入:
[1,1,1,2,-1,1,-3]
输出:
false
C 解法, 执行用时: 2ms, 内存消耗: 360KB, 提交时间: 2020-05-20
#include<stdio.h> int main() { char c; int i,j,n,a[20],*pb,res=0; i=0; while ((c=getchar())!=']') { scanf("%d",a+i); i++; } n=i; j=0; for(i=0;i<n;i++){ j=j+a[j]; if(j<0||j>=n){ res=1; break; } } if(res) printf("true"); else { printf("false"); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 360KB, 提交时间: 2020-05-11
#include<stdio.h> int main() { char c; int i,j,n,a[20],*pb,res=0; i=0; while ((c=getchar())!=']') { scanf("%d",a+i); i++; } n=i; j=0; for(i=0;i<n;i++){ j=j+a[j]; if(j<0||j>=n){ res=1; break; } } if(res) printf("true"); else { printf("false"); } return 0; }