题目:
思路:
从上次大神那里获得的灵感
这题问的是次数,那么我们需要确保 1,能否跳到终点 2,得到次数.
第一次条获得的是nums[0],那么第一个数就是我们第一次能跳跃的范围.每次在范围里获得最大值.并且次数加一.然后进入下一次范围;即可得到次数;
代码是:
//codeclass 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;}
};