与55. JUMP GAME 思路相同,加上一个统计步幅次数的变量即可:
class Solution {
public:
int jump(vector<int>& nums) {
if(nums.size()<2)
return 0;
int i=0;
int res=1;
while(i<nums.size())
{
int max_index=i+nums[i],index=i;
for(int j=i;j<=i+nums[i];j++)
{
if(j+nums[j]>=nums.size()-1)
return j>i?res+1:res;
if( max_index <= (j+nums[j]) )
{
max_index= j + nums[j];
index=j;
}
}
i=index;
res++;
}
}
};
本文介绍了一种类似于跳远游戏的算法实现方案,通过遍历数组寻找最大跳跃指数来完成从起始位置到终点的路径规划。算法使用了一个计数器来记录所需的最小跳跃次数。
903

被折叠的 条评论
为什么被折叠?



