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
Subsequences with Unique Middle ModeInput Array:12233Example Subsequence of Size 5:12233pos 0pos 1pos 2pos 3pos 4Frequency Count: 1→1, 2→2, 3→2Max frequency = 2, Middle element (2) has frequency 2But element 3 also has frequency 2, so mode is NOT unique ✗Need to count all valid subsequences where middle is unique mode
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
Asked in
Google 15 Meta 12
8.5K Views
Medium Frequency
~25 min Avg. Time
280 Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen