1 2 3 4 5 6 7 8 9 10 11 12
#define MAX(a, b) ((a) > (b) ? (a) : (b)) bool canJump(int* nums, int numsSize) { int reach; int i; for(i = 0, reach = 0; i < numsSize && i <= reach; i++) { reach = MAX(i + nums[i], reach); if(reach >= numsSize - 1) return true; } return false; }