Minimum Operations to Reduce X to Zero LeetCode solution in JavaScript
1var minOperations = function (nums, x) {2let len = nums.length,3best = 0;4for (let i = 1; i < len; i++) nums[i] += nums[i - 1];5let y = nums[len - 1] - x;6if (y < 0) return -1;7if (y === 0) return len;8for (let i = -1, j = (l = 0); i < len - best && l <= x; l = nums[++i]) {9while (nums[j] - l < y) j++;10if (nums[j] - l === y) best = Math.max(best, j - i);11}12return best > 0 ? len - best : -1;13};