力扣 55. 跳跃游戏
🔗 https://leetcode.cn/problems/jump-game
题目
- 给一个数组 nums,最开始在 index 0,每次可以跳跃的区间是 0-nums[i]
- 判断是否可以跳到数组末尾
思路
- 题解是用贪心,实际上模拟也可以过
- 遍历可以到达的下标,判断其可以跳到的位置是否达到末尾
代码
class Solution {
public:
bool canJump(vector<int>& nums) {
if (nums.size() == 1) return true;
int max_index = 0;
int n = nums.size()-1;
for (int i = 0; i <= max_index; i++) {
if (i + nums[i] >= n) return true;
max_index = max(max_index, i + nums[i]);
}
return false;
}
};