Maximum Sum of Two Non-Overlapping Subarrays LeetCode solution in Python
1class Solution:2def maxSumTwoNoOverlap(self, nums: List[int], firstLen: int, secondLen: int) -> int:3n = len(nums)4p = [0]5for el in nums:6p.append(p[-1] + el)7msum = 08for f, s in [(firstLen, secondLen), (secondLen, firstLen)]:9for i in range(f - 1, n - s + 1):10for j in range(i + 1, n - s + 1):11l = p[i + 1] - p[i - f + 1]12r = p[j + s] - p[j]13msum = max(msum, l + r)14return msum