Solvarch
DSA ProblemsProgressPlanRoadmapsReviewCheat SheetsCompaniesSystem DesignCS FundamentalsQuestion Bank
Theme
All roadmaps

Grind 169

The extended Grind list: starts with confidence-building easies, ramps into mediums week by week, and finishes in hard territory. Follow it in order — the sequencing (difficulty, topic variety, spaced repetition of patterns) is the point. Adapted to the problems available in the Solvarch catalog.

0/134 completed

01Week 1 — Foundations

Easy problems that establish the core data structures.

Two SumEasyArrays
Valid ParenthesesEasyStrings
Merge Two Sorted ListsEasyLinked Lists
Best Time to Buy and Sell StockEasyArrays
Valid PalindromeEasyStrings
Invert Binary TreeEasyTrees
Valid AnagramEasyStrings
Binary SearchEasyBinary Search

Get the boundaries right without thinking.

Flood FillEasyGraphs
Lowest Common Ancestor of a BSTMediumTrees
Linked List CycleEasyLinked Lists
Implement Queue using StacksEasyStacks & Queues

02Week 2 — Easy, but with ideas

Each of these hides a technique you'll reuse for years.

Climbing StairsEasyDynamic Programming
Reverse Linked ListEasyLinked Lists
Majority ElementEasyArrays

Boyer–Moore voting.

Add BinaryEasyBit Manipulation
Diameter of Binary TreeEasyTrees
Middle of the Linked ListEasyLinked Lists

Fast/slow pointers.

Maximum Depth of Binary TreeEasyTrees
Contains DuplicateEasyArrays
Maximum SubarrayMediumArrays

03Week 3 — First mediums

Insert IntervalMediumArrays
K Closest Points to OriginMediumHeaps & Priority Queues
Longest Substring Without Repeating CharactersMediumStrings
3SumMediumTwo Pointers
Binary Tree Level Order TraversalMediumTrees
Evaluate Reverse Polish NotationMediumStacks & Queues

04Week 4 — Core mediums

Course ScheduleMediumGraphs
Implement Trie (Prefix Tree)MediumTries
Coin ChangeMediumDynamic Programming
Product of Array Except SelfMediumArrays
Min StackMediumStacks & Queues
Validate Binary Search TreeMediumTrees
Number of IslandsMediumGraphs
Rotting OrangesMediumGraphs

Multi-source BFS.

05Week 5 — Search & backtracking

Search in Rotated Sorted ArrayMediumBinary Search
Combination SumMediumBacktracking
PermutationsMediumBacktracking
Merge IntervalsMediumArrays
Sort ColorsMediumTwo Pointers

Dutch national flag.

06Week 6 — DP arrives

Word BreakMediumTries
Partition Equal Subset SumMediumDynamic Programming
String to Integer (atoi)MediumStrings

Edge-case discipline test.

SubsetsMediumBacktracking
Binary Tree Right Side ViewMediumTrees
Longest Palindromic SubstringMediumStrings
Unique PathsMediumDynamic Programming

07Week 7 — Heavier mediums

Container With Most WaterMediumTwo Pointers
Letter Combinations of a Phone NumberMediumBacktracking
Find All Anagrams in a StringMediumSliding Window
Task SchedulerMediumHeaps & Priority Queues
Kth Smallest Element in a BSTMediumTrees

08Week 8 — Hard territory

Minimum Window SubstringHardSliding Window
Trapping Rain WaterHardTwo Pointers
Find Median from Data StreamHardHeaps & Priority Queues
Merge k Sorted ListsHardHeaps & Priority Queues
Largest Rectangle in HistogramHardStacks & Queues

Monotonic stack, fully general.

09Week 9 — Easy sweep

Extended-list easies: close every fundamentals gap.

Same TreeEasyTrees
Symmetric TreeEasyTrees
Single NumberEasyBit Manipulation
Palindrome Linked ListEasyLinked Lists
Move ZeroesEasyArrays
Longest Common PrefixEasyStrings
Missing NumberEasyBit Manipulation
Number of 1 BitsEasyBit Manipulation
Reverse BitsEasyBit Manipulation
Roman to IntegerEasyStrings
Pascal's TriangleEasyArrays
Remove Duplicates from Sorted ArrayEasyTwo Pointers

10Week 10 — Arrays & strings, round two

Group AnagramsMediumStrings
Longest Consecutive SequenceMediumArrays
Rotate ArrayEasyArrays
Merge Two Sorted ArraysEasyTwo Pointers

Merge from the back for O(1) space.

Search a 2D MatrixMediumBinary Search
Find First and Last Position of Element in Sorted ArrayMediumBinary Search
Longest Repeating Character ReplacementMediumSliding Window
Sort Characters By FrequencyMediumHeaps & Priority Queues
Palindromic SubstringsMediumDynamic Programming

11Week 11 — Linked lists, stacks & queues

Add Two NumbersMediumLinked Lists
Remove Nth Node From End of ListMediumLinked Lists
Reorder ListMediumLinked Lists
Swap Nodes in PairsEasyLinked Lists
Odd Even Linked ListMediumLinked Lists
Rotate ListMediumLinked Lists
Daily TemperaturesMediumStacks & Queues
Next Greater Element IIMediumStacks & Queues
Decode StringMediumStacks & Queues
Asteroid CollisionMediumStacks & Queues
Simplify PathMediumStacks & Queues

12Week 12 — Trees, tries & heaps

Path SumEasyTrees
Subtree of Another TreeEasyTrees
Kth Smallest Element in a Sorted MatrixMediumHeaps & Priority Queues
Kth Largest Element in an ArrayMediumHeaps & Priority Queues

Heap vs quickselect trade-offs.

Kth Largest Element in a StreamEasyHeaps & Priority Queues
Top K Frequent ElementsMediumHeaps & Priority Queues
Last Stone WeightEasyHeaps & Priority Queues
Design Add and Search Words Data StructureMediumTries
Replace WordsMediumTries
Longest Word in DictionaryMediumTries

13Week 13 — Graphs & backtracking

Course Schedule IIMediumGraphs
Number of Connected Components in an Undirected GraphMediumGraphs
Graph Valid TreeMediumGraphs
Redundant ConnectionMediumGraphs

Union-find.

Walls and GatesMediumGraphs
Max Area of IslandMediumGraphs
Network Delay TimeMediumGraphs

Dijkstra.

Cheapest Flights Within K StopsMediumGraphs
Subsets IIMediumBacktracking
Combination Sum IIMediumBacktracking
Generate ParenthesesMediumBacktracking
Palindrome PartitioningMediumBacktracking
N-Queens IIHardBacktracking

14Week 14 — DP & greedy depth

House RobberMediumDynamic Programming
House Robber IIMediumDynamic Programming
Jump GameMediumGreedy
Jump Game IIMediumGreedy
Decode WaysMediumDynamic Programming
Longest Increasing SubsequenceMediumDynamic Programming
Longest Common SubsequenceMediumDynamic Programming
Edit DistanceMediumDynamic Programming
Maximum Product SubarrayMediumArrays
Min Cost Climbing StairsEasyDynamic Programming
Perfect SquaresMediumDynamic Programming
Target SumMediumDynamic Programming
Partition LabelsMediumGreedy
Gas StationMediumGreedy
Hand of StraightsMediumGreedy

15Week 15 — Hard mode

Binary search on answers, and the classic hards.

Koko Eating BananasMediumBinary Search
Capacity to Ship Packages Within D DaysMediumBinary Search
Median of Two Sorted ArraysHardBinary Search
Sliding Window MaximumHardSliding Window
First Missing PositiveHardArrays
Binary Tree Maximum Path SumHardTrees
Min Cost to Connect All PointsMediumGraphs

MST — Prim or Kruskal.