LeetCode55 跳跃游戏(贪心)

LeetCode55 跳跃游戏

顺序维护当前位置可到达最远位置,判断其是否可到达最后一个下标。

class Solution:
    def canJump(self, nums: List[int]) -> bool:

        l, max_pos = len(nums), 0
        for i in range(l):
            if i <= max_pos:
                max_pos = max(max_pos, i + nums[i])
        
        if max_pos >= l - 1: return True
        else: return False
class Solution {
public:
    bool canJump(vector<int>& nums) {
        int n = nums.size(), r = 0;
        for (int i = 0; i < n; ++i) {
            if (i <= r) {
                r = max(r, i + nums[i]);
                if (r >= n - 1) return true;
            }
        }    
        return false;
    }
};

posted on 2022-06-29 10:34  solvit  阅读(17)  评论(0编辑  收藏  举报

导航