class Solution { public: bool canJump(vector<int>& nums) { int len=nums.size(); if(len==1)//边界边界边界! return true; int max_bianjie=nums[0];//设置一个边界,初始化为0+nums[0] for(int i=0;i<max_bianjie;i++) { if(i+1+nums[i+1]>max_bianjie)//如果i+1在边界内,且i+1+nums[i+1]>max_bianjie,更新边界 max_bianjie=i+1+nums[i+1]; if(max_bianjie>=len-1)//如果边界出现溢出,则返回true return true; } return false; } };
分析:
手感还是很差。