Partitioning [mp]
Micro pattern¶
Description¶
Divide input into regions or pieces satisfying distinct ordering or validity properties.
Problems¶
Three-way value partitioning¶
Maintain regions smaller than, equal to, and greater than a category.
- Quick sort (DSA)
- 75. Sort Colors (Top Medium)
Partition into valid pieces¶
Choose a valid next segment and solve the remaining suffix.
- 131. Palindrome Partitioning (Top Hard)
- 139. Word Break (Top Hard)
- 140. Word Break II (Top Hard)
Partition into adjacent runs¶
Cut a sequence into sorted runs for pairwise merging.
- Bottom-up merge sort (DSA)
- Bottom-up merge sort linked list (DSA)
- 148. Sort List (Top Hard)
Balanced sorted partitions¶
Choose cuts whose combined left side has a desired rank.
- 4. Median of Two Sorted Arrays (Top Hard)
Interval splits¶
Select a position separating an interval into independent subintervals.
- 312. Burst Balloons (Top Hard)
- 96. Unique Binary Search Trees (Dynamic Programming)
- 95. Unique Binary Search Trees II (Dynamic Programming)