55. 跳跃游戏

根据题解思路

当把一个元素i作为起跳点,则后面nums[i]个元素都可以作为起跳点。
使用k来记录最远可起跳的起跳点位置索引,
i>k时,代表此时已经遍历到元素i,而根据k最远可以起跳的元素位置还到达不了i,于是返回false
否则遍历完所有点,则返回true

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int k = 0;
        for (int i = 0; i < nums.size(); ++i) {
            if (i > k) return false;
            k = max(k, i + nums[i]);
        }
        return true;
    }
};  

你可能感兴趣的:(LeetCode,游戏,算法,数据结构)