Find Two Non-overlapping Sub-arrays Each With Target Sum - Problem
You are given an array of integers arr and an integer target.
You have to find two non-overlapping sub-arrays of arr each with a sum equal to target. There can be multiple answers so you have to find an answer where the sum of the lengths of the two sub-arrays is minimum.
Return the minimum sum of the lengths of the two required sub-arrays, or return -1 if you cannot find such two sub-arrays.
Input & Output
Example 1 — Basic Case
$
Input:
arr = [3,2,2,4,3], target = 3
›
Output:
2
💡 Note:
Only sub-arrays with sum 3 are [3] at index 0 and [3] at index 4. Total length = 1 + 1 = 2.
Example 2 — Multiple Options
$
Input:
arr = [7,3,4,7], target = 7
›
Output:
2
💡 Note:
Sub-arrays with sum 7: [7] at index 0 (length 1), [3,4] at indices 1-2 (length 2), [7] at index 3 (length 1). Best pair: [7] + [7] = 1 + 1 = 2.
Example 3 — No Solution
$
Input:
arr = [1,1,1,1], target = 3
›
Output:
-1
💡 Note:
Sub-arrays with sum 3: [1,1,1] at indices 0-2 and [1,1,1] at indices 1-3. These overlap, so no valid pair exists.
Constraints
- 1 ≤ arr.length ≤ 1000
- 1 ≤ arr[i] ≤ 1000
- 1 ≤ target ≤ 300
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code