A split of an integer array is good if:
Given nums, an array of non-negative integers, return the number of good ways to split nums. As the number may be too large, return it modulo 109 + 7.
Examples
Example 1
Input: nums = [1,1,1]
Output: 1
Explanation: The only good way to split nums is [1] [1] [1].
Example 2
Input: nums = [1,2,2,2,5,0]
Output: 3
Explanation: There are three good ways of splitting nums:
[1] [2] [2,2,5,0]
[1] [2,2] [2,5,0]
[1,2] [2,2] [5,0]
Example 3
Input: nums = [3,2,1]
Output: 0
Explanation: There is no good way to split nums.
Constraints
3 <= nums.length <= 105
0 <= nums[i] <= 104
1712. Ways to Split Array Into Three Subarrays
Medium
30 Points
Array
Two Pointers
Binary Search
Prefix Sum
A split of an integer array is good if:
Given nums, an array of non-negative integers, return the number of good ways to split nums. As the number may be too large, return it modulo 109 + 7.
Examples
Example 1
Input: nums = [1,1,1]
Output: 1
Explanation: The only good way to split nums is [1] [1] [1].
Example 2
Input: nums = [1,2,2,2,5,0]
Output: 3
Explanation: There are three good ways of splitting nums:
[1] [2] [2,2,5,0]
[1] [2,2] [2,5,0]
[1,2] [2,2] [5,0]
Example 3
Input: nums = [3,2,1]
Output: 0
Explanation: There is no good way to split nums.
Constraints
3 <= nums.length <= 105
0 <= nums[i] <= 104
Ways to Split Array Into Three Subarrays - Practice Coding | SlaveCode