You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum.
6
+
7
+
Each subarray will be of size k, and we want to maximize the sum of all 3*k entries.
8
+
9
+
Return the result as a list of indices representing the starting position of each interval (0-indexed). If there are multiple answers, return the lexicographically smallest one.
10
+
11
+
Example:
12
+
Input: [1,2,1,2,6,7,5,1], 2
13
+
Output: [0, 3, 5]
14
+
Explanation: Subarrays [1, 2], [2, 6], [7, 5] correspond to the starting indices [0, 3, 5].
15
+
We could have also taken [2, 1], but an answer of [1, 3, 5] would be lexicographically larger.
16
+
Note:
17
+
nums.length will be between 1 and 20000.
18
+
nums[i] will be between 1 and 65535.
19
+
k will be between 1 and floor(nums.length / 3).
20
+
21
+
Solution:
22
+
O(N) solution by prefix and reverse-prefix sum
23
+
First calculate max index for array index k, then use this to calculate max index for two array indices j and k and
24
+
again use this result to calculate the final max index for i, j and k for the 3 arrays.
0 commit comments