1
var maxSumTwoNoOverlap = function (nums, firstLen, secondLen) {2
function helper(arr, x, y) {5
const dp1 = []; // store left x sum6
const dp2 = []; // store right y sum8
for (let i = 0; i < n; i++) {13
sum += arr[i] - arr[i - x];14
dp1[i] = Math.max(dp1[i - 1], sum);18
for (let i = n - 1; i >= 0; i--) {23
sum += arr[i] - arr[i + y];24
dp2[i] = Math.max(dp2[i + 1], sum);28
for (let i = x - 1; i < n - y; i++) {29
max = Math.max(max, dp1[i] + dp2[i + 1]);34
helper(nums, firstLen, secondLen),35
helper(nums, secondLen, firstLen)