时间复杂度(O(n))
class Solution {
public:
int jump(vector<int>& nums) {
if(nums.size()<=1)return 0;
vector<int> jumpCount(nums.size(),INT_MAX);
jumpCount[0]=0;
int curr_index=0;
for(int i=1;i<nums.size();++i){
int tmp_num=nums[i-1]<1?1:nums[i-1];
for(int j=curr_index+1;j<nums.size()&&j<=i-1+tmp_num;++j){
if(jumpCount[j]>jumpCount[i-1])
jumpCount[j]=jumpCount[i-1]+1;
curr_index=j;
}
}
return jumpCount.back();
}
};