Maximum Sum of Two Non-Overlapping Subarrays LeetCode solution in Python

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0