3388. Count Beautiful Splits in an Array
Medium18.6% acceptance7,897 / 42,496 submissions
Asked by 2 companies
Topics
You are given an array nums.
A split of an array nums is beautiful if:
- The array
numsis split into three subarrays:nums1,nums2, andnums3, such thatnumscan be formed by concatenatingnums1,nums2, andnums3in that order. - The subarray
nums1is a prefix ofnums2ORnums2is a prefix ofnums3.
Return the number of ways you can make this split.
Example 1:
Input: nums = [1,1,2,1]
Output: 2
Explanation:
The beautiful splits are:
- A split with
nums1 = [1],nums2 = [1,2],nums3 = [1]. - A split with
nums1 = [1],nums2 = [1],nums3 = [2,1].
Example 2:
Input: nums = [1,2,3,4]
Output: 0
Explanation:
There are 0 beautiful splits.
Constraints:
1 <= nums.length <= 50000 <= nums[i] <= 50
Hints
Hint 1
Use 2D dynamic programming to find the maximum matching prefix.