HV

DSA Topics

75 problems across 11 pattern-based topics. Click any card to see all problems with brute force → optimal solutions. Check off problems as you complete them — progress is saved locally.

Day 1
9 probs

Arrays & Hashing

HashMap / HashSet for O(1) lookups

Two SumGroup AnagramsTop K Frequent
~1.5h Open →
👆
Day 1
5 probs

Two Pointers

L+R pointers converging; eliminates O(n²) nested loops

3SumContainer With Most WaterTrapping Rain Water
~1h Open →
🪟
Day 1
6 probs

Sliding Window

Expand right, shrink left when constraint violated

Longest Substr No RepeatMin Window SubstringSliding Window Max
~1h Open →
🔍
Day 2
7 probs

Binary Search

Sorted/monotonic space → O(log n). Also 'search on answer'.

Find Min RotatedKoko BananasMedian of Two Arrays
~1.5h Open →
📚
Day 2
7 probs

Stack

LIFO for monotonic problems and expression evaluation

Daily TemperaturesLargest Rectangle HistogramMin Stack
~1h Open →
🔗
Day 2
11 probs

Linked List

Dummy nodes, fast/slow pointers, two-pass technique

LRU CacheMerge K SortedReverse K Groups
~2h Open →
🌲
Day 3
15 probs

Trees

DFS (recursion), BFS (queue), BST property (L < root < R)

Max Path SumSerialize/DeserializeLCA Binary Tree
~2.5h Open →
🔺
Day 3
6 probs

Heap / Priority Queue

Min-heap for k-largest; two-heap for running median

Find Median StreamK Closest PointsTask Scheduler
~1h Open →
🧮
Day 4
12 probs

Dynamic Programming

Define dp[i] → recurrence → base case → bottom-up

Coin ChangeLISWord Break
~2.5h Open →
🕸️
Day 4
13 probs

Graphs

DFS/BFS for traversal; Union-Find for connectivity; Topo Sort for DAGs

Course SchedulePacific AtlanticWord Ladder
~2h Open →
📐
Day 4
9 probs

Greedy & Intervals

Sort + greedy choice; overlapping intervals → sort by start

Jump Game IIMerge IntervalsMeeting Rooms II
~1.5h Open →

// Complexity Quick Reference

AlgorithmTimeSpaceWhen to Use
Binary Search O(log n) O(1) Sorted/monotonic array
Two Pointers O(n) O(1) Sorted array, palindrome
Sliding Window O(n) O(k) Subarray/substring with constraint
DFS / BFS O(V+E) O(V) Graph/tree traversal
Merge Sort / Heap Sort O(n log n) O(n) General sorting
Dynamic Programming O(n²)–O(n·m) O(n)–O(n·m) Overlapping subproblems
Heap operations O(log n) O(n) K-th largest/smallest
Trie insert/search O(L) O(L·n) Prefix matching, L=word length