LeetCode Jump Game a simple one
class Solution {
public:
bool canJump(vector<int>& nums) {
int i,sum;
int n=nums.size();
if(n<=1)
return true;
vector < int > reach(n,0);
for(i=0;i<n-1;i++){
if(nums[i])
reach[i]=nums[i]+i;
}
int mx=reach[0];
for(i=0;i<n-1;i++){
if(reach[i]>=(n-1))
return true;
if(reach[i]==0 && mx<=i)
return false;
if(reach[i]>mx)
mx=reach[i];
}
return false;
}
};
No comments:
Post a Comment