Skip to content

Binary Search Problems

10 classic problems, each with its own detailed file. Every problem has multiple approaches, step-by-step walkthroughs, and full JavaScript solutions.


#ProblemPatternDifficultyFile
1Search in Rotated Sorted ArrayPattern 4 — Rotated🟡 MediumOpen →
2Find Minimum in Rotated ArrayPattern 4 — Rotated🟡 MediumOpen →
3Search a 2D MatrixPattern 1 — Classic🟡 MediumOpen →
4Find Peak ElementPattern 5 — Monotonic🟡 MediumOpen →
5Koko Eating BananasPattern 3 — Answer Space🟡 MediumOpen →
6Capacity to Ship PackagesPattern 3 — Answer Space🟡 MediumOpen →
7Split Array Largest SumPattern 3 — Answer Space🔴 HardOpen →
8Find Sqrt(x)Pattern 3 — Answer Space🟢 EasyOpen →
9First Bad VersionPattern 5 — Monotonic🟢 EasyOpen →
10Time-Based Key-Value StorePattern 1 — Classic🟡 MediumOpen →

PatternProblems
Pattern 1 — Classic3 (2D Matrix), 10 (Time-Based KV)
Pattern 3 — Answer Space5 (Koko), 6 (Ship), 7 (Split Array), 8 (Sqrt)
Pattern 4 — Rotated Array1 (Search Rotated), 2 (Find Min)
Pattern 5 — Monotonic Function4 (Peak Element), 9 (First Bad Version)

StepProblemWhy
1Sqrt(x)Easiest — simple answer space
2First Bad VersionClassic boundary search
32D MatrixClassic search in 2D
4Find Peak ElementClever monotonic insight
5Koko BananasClassic answer space
6Rotated SearchTrickiest logic
7Find Min RotatedCompanion to #6
8Ship PackagesAnswer space variation
9Split ArrayHard — same pattern as #8
10Time-Based KVSystem design + BS

Start with: Sqrt(x) → (easiest)