Find Two Non-overlapping Sub-arrays Each With Target Sum LeetCode solution in JavaScript
1var minSumOfLengths = function (arr, target) {2let left = 0;3let curr = 0;4let res = Math.min(); // Math.min() without any args will be Infinite5const best = new Array(arr.length).fill(Math.min());6let bestSoFar = Math.min();78for (let i = 0; i < arr.length; i++) {9curr += arr[i];10while (curr > target) {11curr -= arr[left++];12}13if (curr === target) {14if (left > 0 && best[left - 1] !== Math.min()) {15res = Math.min(res, best[left - 1] + i - left + 1);16}17bestSoFar = Math.min(bestSoFar, i - left + 1);18}19best[i] = bestSoFar;20}21return res === Math.min() ? -1 : res;22};