题目:
思路:
从上次大神那里获得的灵感
这题问的是次数,那么我们需要确保 1,能否跳到终点 2,得到次数.
第一次条获得的是nums[0],那么第一个数就是我们第一次能跳跃的范围.每次在范围里获得最大值.并且次数加一.然后进入下一次范围;即可得到次数;
代码是:
//code
class Solution {
public:
int jump(vector<int>& nums) {
int n = nums.size()-1;
if(n==0) return false;
int res=0;
int range=0,i=0;
while(range<n){
res++;
int len = range;
for(i;i<=len;i++){
range = max(range,i+nums[i]);
}
}
if(range>=n) return res;
else return false;
}
};