力扣 55. 跳跃游戏

54 阅读1分钟

🔗 leetcode.cn/problems/ju…

题目

  • 给一个数组 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;
        
    }
};