代码随想录:跳跃游戏二
记录每一步能够跳跃的最远距离
class Solution {
public:
int jump(vector<int>& nums) {
if(nums.size()==1)return 0;
int wide = nums[0];
int step = 0;
int end = 0;//记录上一次最远的位置,当i=end时,说明需要进行跳跃了
for(int i = 0;i<nums.size()-1;i++){
wide = max(i+nums[i],wide);
if(i==end){
end = wide;
step++;
}
}
return step;
}
};