Find Two Non-overlapping Sub-arrays Each With Target Sum LeetCode solution in JavaScript

1
var minSumOfLengths = function (arr, target) {
2
let left = 0;
3
let curr = 0;
4
let res = Math.min(); // Math.min() without any args will be Infinite
5
const best = new Array(arr.length).fill(Math.min());
6
let bestSoFar = Math.min();
7

8
for (let i = 0; i < arr.length; i++) {
9
curr += arr[i];
10
while (curr > target) {
11
curr -= arr[left++];
12
}
13
if (curr === target) {
14
if (left > 0 && best[left - 1] !== Math.min()) {
15
res = Math.min(res, best[left - 1] + i - left + 1);
16
}
17
bestSoFar = Math.min(bestSoFar, i - left + 1);
18
}
19
best[i] = bestSoFar;
20
}
21
return res === Math.min() ? -1 : res;
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0