You are given a 0-indexed integer array
You are initially standing at index
You want to reach the last index of the array (index
Return the maximum score you can get.
Example 1:
Input: nums = [1,-1,-2,4,-7,3], k = 2 Output: 7 Explanation: You can choose your jumps forming the subsequence [1,-1,4,3] (underlined above). The sum is 7.
Example 2:
Input: nums = [10,-5,-2,4,0,3], k = 3 Output: 17 Explanation: You can choose your jumps forming the subsequence [10,4,3] (underlined above). The sum is 17.
Example 3:
Input: nums = [1,-5,-20,4,-1,3,-6,-3], k = 2 Output: 0
Constraints:
1 <= nums.length, k <= 105 -104 <= nums[i] <= 104
Solution
這題還需要將 slicing window 和 DP 兩個概念結合在一起
一樣用個 stack 來記錄目前的最大值的 index
而一個關鍵點在,把原本的 nums 拿來當 DP 用,每次得到的當下最大值,都更新到 nums
kotlin
沒有留言:
張貼留言