题解
题目还是比较好懂的,贪心算法,只要能满足一个步骤跳到最后就可以。
即当存在满足两个条件的这个就可以跳到最后一个。
1.可以跳到当前位置
2.在当前位置时,可以跳的最远具体大于等于最后一个。
代码
class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxn = 0;
for(int i = 0; i < n; i++){
if(maxn >= i){//证明可以到达这个位置
maxn = max(maxn,i + nums[i]);
}
if(maxn >= n -1){
return true;
}
}
return false;
}
};

博客探讨了一种使用贪心算法解决跳跃游戏的方法。在给定整数数组nums中,每一步可以从当前位置跳到数组内的任何一个下标,条件是跳跃的步长至少为该位置的数值。目标是判断是否能通过一系列跳跃到达数组的最后一个元素。代码示例展示了一个C++解决方案,通过维护一个最大可达位置变量maxn,遍历数组并检查是否能跳到最后。
256

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



