1696. Jump Game VI (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution(object):
    def maxResult(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: int
        """
        dp = [0] * len(nums)
        l = r = 0
        for i in range(len(nums)):
            if i > l + k:
                l, r = r, r + 1
            dp[i] = dp[l] + nums[i]
            if dp[i] >= dp[l]:
                l, r = i, i + 1
            elif dp[i] >= dp[r]:
                r = i
        return dp[-1]