Constrained Subsequence Sum LeetCode solution in JavaScript
1/**2* @param {number[]} nums3* @param {number} k4* @return {number}5*/6var constrainedSubsetSum = function (nums, k) {7const queue = [[0, nums[0]]];8let max = nums[0];9for (let i = 1; i < nums.length; i++) {10const cur = queue.length ? nums[i] + Math.max(0, queue[0][1]) : nums[i];11max = Math.max(max, cur);12while (queue.length && queue[queue.length - 1][1] < cur) queue.pop();13queue.push([i, cur]);14while (queue.length && queue[0][0] <= i - k) queue.shift();15}16return max;17};