// LeetCode 55 跳跃游戏
// 贪心地每次走最远
class Solution {
public boolean canJump(int[] nums) {
int currentEnd = 0;
int currentFar = 0;
boolean res = false;
for (int i = 0;i < nums.length - 1; i ++){
currentFar = Math.max(currentFar, i + nums[i]); // 当前能走到最远
if (i == currentEnd){ // 此时已经到上一次能走到的最大距离
if (currentFar == currentEnd) return false; // 两者相等表示走不了了
currentEnd = currentFar;
}
}
return currentFar >= nums.length - 1;
}
}
LeetCode55跳跃游戏解析

本文详细解析了LeetCode上的经典题目“跳跃游戏”,通过贪心算法实现,每次选择能够到达的最远位置,判断是否能跳到最后。代码示例清晰展示了算法逻辑,为解决类似问题提供了有效思路。
374

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



