All Patterns

Binary Search

Halve the search space each step to find targets or boundaries in O(log n) time on sorted or monotonic data.

When to use

  • Sorted array
  • Finding boundary/threshold
  • Minimizing/maximizing with monotonic check
  • Search space reduction

When NOT to use

  • Unsorted, non-monotonic data
  • Need to find all occurrences

Common traps

  • Off-by-one in left/right bounds
  • Infinite loops from wrong mid calculation
  • Wrong condition for left vs right boundary

Key Invariant

Each iteration eliminates half the remaining candidates — the search predicate must be monotonic

Problems (24)

#17Binary Search
easyFREE
#41Search Insert Position
easyFREE
#42Guess Number Higher or Lower
easyFREE
#60Sqrt(x)
easy
#246Kth Missing Positive Number
easy
#64Search in Rotated Sorted Array
medium
#65Find Minimum in Rotated Sorted Array
medium
#66Koko Eating Bananas
medium
#67Search a 2D Matrix
medium
#68Capacity To Ship Packages Within D Days
medium
#69Find Peak Element
medium
#238Find First and Last Position
medium
#239Single Element in Sorted Array
medium
#240Search in Rotated Sorted Array II
medium
#241Time Based Key-Value Store
medium
#242Random Pick with Weight
medium
#245Smallest Divisor Given Threshold
medium
#247Peak Index in a Mountain Array
medium
#108Swim in Rising Water
hard
#110Median of Two Sorted Arrays
hard
#111Split Array Largest Sum
hard
#112Find K-th Smallest Pair Distance
hard
#243Minimum in Rotated Sorted Array II
hard
#244Aggressive Cows
hard