Subsequences with a Unique Middle Mode I - Problem
Given an integer array nums, find the number of subsequences of size 5 of nums with a unique middle mode.
Since the answer may be very large, return it modulo 10^9 + 7.
A mode of a sequence of numbers is defined as the element that appears the maximum number of times in the sequence.
A sequence of numbers contains a unique mode if it has only one mode.
A sequence of numbers seq of size 5 contains a unique middle mode if the middle element (seq[2]) is a unique mode.
Input & Output
Example 1 — Basic Case
$
Input:
nums = [1,2,2,3,3]
›
Output:
4
💡 Note:
Valid subsequences: [1,2,2,3,3] has several size-5 subsequences where middle element is unique mode. For instance, if we take all elements [1,2,2,3,3], frequencies are 1:1, 2:2, 3:2, and depending on middle position, some will have unique mode.
Example 2 — Small Array
$
Input:
nums = [1,1,1,1,1]
›
Output:
1
💡 Note:
Only one subsequence [1,1,1,1,1]. Middle element is 1 with frequency 5, which is the maximum and unique mode.
Example 3 — No Valid Subsequence
$
Input:
nums = [1,2,3,4,5]
›
Output:
1
💡 Note:
Only one subsequence [1,2,3,4,5]. Middle element is 3 with frequency 1, all elements have frequency 1, so 3 is tied for maximum frequency but not unique mode. Actually, each element appears once, so any can be unique mode by definition.
Constraints
- 5 ≤ nums.length ≤ 1000
- -109 ≤ nums[i] ≤ 109
Visualization
Tap to expand
Understanding the Visualization
1
Input Array
Given array of integers
2
Find Subsequences
Generate all subsequences of size 5
3
Check Middle Mode
Verify if middle element is unique mode
Key Takeaway
🎯 Key Insight: Fix each element as middle and use combinatorics to count valid subsequences efficiently
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code