思路方法:主体采用while循环因为真的需要跳跃,每个坐标表示到该点的最短路径,在每一个小区间选择跳跃的最大值,因为步数多的一定可以覆盖到区间内值最大的点,每次选取最大的值然后将值加一,直到结尾超出数组长度
class Solution {
public:
int jump(vector<int>& nums) {
int count=0;
int sign=0;
int start=0;
int end=1;
while(end<nums.size())
{
int max1=0;
for(int x=start;x<end;x++)
{
max1=max(max1,nums[x]+x);
}
start =end;
end=max1+1;
count++;
}
return count;
}
};