Episode 7 — DSA with JavaScript / 7.10 — Binary Search

7.10 — Interview Questions: Binary Search

<< Overview


Beginner

Q1. What is binary search?

Answer: Halve sorted search space each step. O(log n).


Beginner

Q2. What are the prerequisites?

Answer: Array must be sorted (or have monotonic property).


Beginner

Q3. Lower bound vs upper bound?

Answer: Lower: first >=target. Upper: last <=target.


Beginner

Q4. Search in rotated sorted array?

Answer: Check which half is sorted, narrow accordingly.


Beginner

Q5. Find peak element?

Answer: Compare mid with mid+1, move toward larger.


Intermediate

Q6. Binary search on answer?

Answer: Search over possible answers when feasible(mid) is monotonic.


Intermediate

Q7. Find minimum in rotated array?

Answer: Compare mid with hi; if mid>hi, min is in right half.


Intermediate

Q8. Search in 2D sorted matrix?

Answer: Treat as 1D: index = rowcols+col. O(log(mn)).


Intermediate

Q9. When does binary search NOT work?

Answer: Unsorted arrays without monotonic property.


Intermediate

Q10. How to avoid integer overflow in mid?

Answer: Use lo + (hi-lo)/2 instead of (lo+hi)/2.


Advanced

Q11. Binary search on infinite array?

Answer: Exponentially expand bounds, then standard BS.


Advanced

Q12. Median of two sorted arrays?

Answer: Binary search on shorter array, partition. O(log min(m,n)).


Advanced

Q13. Aggressive cows problem?

Answer: Binary search on minimum distance, greedy check.


Advanced

Q14. Allocate pages problem?

Answer: Binary search on max pages, feasibility check.


Quick-fire table

#QuestionAnswer
1BS time?O(log n)
2Prerequisite?Sorted/monotonic
3Mid formula?lo+(hi-lo)/2
4Rotated array search?Check sorted half
5Peak element?Compare mid vs mid+1
6BS on answer?Search feasible range
7Lower bound?First element >= target
82D matrix BS?Flatten to 1D index
9Find min in rotated?Compare mid with hi
10Infinite array BS?Double bounds first

Rapid self-check cards

SC-001

  • Q: BS time?
  • A: O(log n)

SC-002

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-003

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-004

  • Q: Rotated array search?
  • A: Check sorted half

SC-005

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-006

  • Q: BS on answer?
  • A: Search feasible range

SC-007

  • Q: Lower bound?
  • A: First element >= target

SC-008

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-009

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-010

  • Q: Infinite array BS?
  • A: Double bounds first

SC-011

  • Q: BS time?
  • A: O(log n)

SC-012

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-013

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-014

  • Q: Rotated array search?
  • A: Check sorted half

SC-015

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-016

  • Q: BS on answer?
  • A: Search feasible range

SC-017

  • Q: Lower bound?
  • A: First element >= target

SC-018

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-019

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-020

  • Q: Infinite array BS?
  • A: Double bounds first

SC-021

  • Q: BS time?
  • A: O(log n)

SC-022

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-023

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-024

  • Q: Rotated array search?
  • A: Check sorted half

SC-025

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-026

  • Q: BS on answer?
  • A: Search feasible range

SC-027

  • Q: Lower bound?
  • A: First element >= target

SC-028

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-029

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-030

  • Q: Infinite array BS?
  • A: Double bounds first

SC-031

  • Q: BS time?
  • A: O(log n)

SC-032

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-033

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-034

  • Q: Rotated array search?
  • A: Check sorted half

SC-035

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-036

  • Q: BS on answer?
  • A: Search feasible range

SC-037

  • Q: Lower bound?
  • A: First element >= target

SC-038

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-039

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-040

  • Q: Infinite array BS?
  • A: Double bounds first

SC-041

  • Q: BS time?
  • A: O(log n)

SC-042

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-043

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-044

  • Q: Rotated array search?
  • A: Check sorted half

SC-045

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-046

  • Q: BS on answer?
  • A: Search feasible range

SC-047

  • Q: Lower bound?
  • A: First element >= target

SC-048

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-049

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-050

  • Q: Infinite array BS?
  • A: Double bounds first

SC-051

  • Q: BS time?
  • A: O(log n)

SC-052

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-053

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-054

  • Q: Rotated array search?
  • A: Check sorted half

SC-055

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-056

  • Q: BS on answer?
  • A: Search feasible range

SC-057

  • Q: Lower bound?
  • A: First element >= target

SC-058

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-059

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-060

  • Q: Infinite array BS?
  • A: Double bounds first

SC-061

  • Q: BS time?
  • A: O(log n)

SC-062

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-063

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-064

  • Q: Rotated array search?
  • A: Check sorted half

SC-065

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-066

  • Q: BS on answer?
  • A: Search feasible range

SC-067

  • Q: Lower bound?
  • A: First element >= target

SC-068

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-069

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-070

  • Q: Infinite array BS?
  • A: Double bounds first

SC-071

  • Q: BS time?
  • A: O(log n)

SC-072

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-073

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-074

  • Q: Rotated array search?
  • A: Check sorted half

SC-075

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-076

  • Q: BS on answer?
  • A: Search feasible range

SC-077

  • Q: Lower bound?
  • A: First element >= target

SC-078

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-079

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-080

  • Q: Infinite array BS?
  • A: Double bounds first

SC-081

  • Q: BS time?
  • A: O(log n)

SC-082

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-083

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-084

  • Q: Rotated array search?
  • A: Check sorted half

SC-085

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-086

  • Q: BS on answer?
  • A: Search feasible range

SC-087

  • Q: Lower bound?
  • A: First element >= target

SC-088

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-089

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-090

  • Q: Infinite array BS?
  • A: Double bounds first

SC-091

  • Q: BS time?
  • A: O(log n)

SC-092

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-093

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-094

  • Q: Rotated array search?
  • A: Check sorted half

SC-095

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-096

  • Q: BS on answer?
  • A: Search feasible range

SC-097

  • Q: Lower bound?
  • A: First element >= target

SC-098

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-099

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-100

  • Q: Infinite array BS?
  • A: Double bounds first

SC-101

  • Q: BS time?
  • A: O(log n)

SC-102

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-103

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-104

  • Q: Rotated array search?
  • A: Check sorted half

SC-105

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-106

  • Q: BS on answer?
  • A: Search feasible range

SC-107

  • Q: Lower bound?
  • A: First element >= target

SC-108

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-109

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-110

  • Q: Infinite array BS?
  • A: Double bounds first

SC-111

  • Q: BS time?
  • A: O(log n)

SC-112

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-113

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-114

  • Q: Rotated array search?
  • A: Check sorted half

SC-115

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-116

  • Q: BS on answer?
  • A: Search feasible range

SC-117

  • Q: Lower bound?
  • A: First element >= target

SC-118

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-119

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-120

  • Q: Infinite array BS?
  • A: Double bounds first

SC-121

  • Q: BS time?
  • A: O(log n)

SC-122

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-123

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-124

  • Q: Rotated array search?
  • A: Check sorted half

SC-125

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-126

  • Q: BS on answer?
  • A: Search feasible range

SC-127

  • Q: Lower bound?
  • A: First element >= target

SC-128

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-129

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-130

  • Q: Infinite array BS?
  • A: Double bounds first

SC-131

  • Q: BS time?
  • A: O(log n)

SC-132

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-133

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-134

  • Q: Rotated array search?
  • A: Check sorted half

SC-135

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-136

  • Q: BS on answer?
  • A: Search feasible range

SC-137

  • Q: Lower bound?
  • A: First element >= target

SC-138

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-139

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-140

  • Q: Infinite array BS?
  • A: Double bounds first

SC-141

  • Q: BS time?
  • A: O(log n)

SC-142

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-143

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-144

  • Q: Rotated array search?
  • A: Check sorted half

SC-145

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-146

  • Q: BS on answer?
  • A: Search feasible range

SC-147

  • Q: Lower bound?
  • A: First element >= target

SC-148

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-149

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-150

  • Q: Infinite array BS?
  • A: Double bounds first

SC-151

  • Q: BS time?
  • A: O(log n)

SC-152

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-153

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-154

  • Q: Rotated array search?
  • A: Check sorted half

SC-155

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-156

  • Q: BS on answer?
  • A: Search feasible range

SC-157

  • Q: Lower bound?
  • A: First element >= target

SC-158

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-159

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-160

  • Q: Infinite array BS?
  • A: Double bounds first

SC-161

  • Q: BS time?
  • A: O(log n)

SC-162

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-163

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-164

  • Q: Rotated array search?
  • A: Check sorted half

SC-165

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-166

  • Q: BS on answer?
  • A: Search feasible range

SC-167

  • Q: Lower bound?
  • A: First element >= target

SC-168

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-169

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-170

  • Q: Infinite array BS?
  • A: Double bounds first

SC-171

  • Q: BS time?
  • A: O(log n)

SC-172

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-173

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-174

  • Q: Rotated array search?
  • A: Check sorted half

SC-175

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-176

  • Q: BS on answer?
  • A: Search feasible range

SC-177

  • Q: Lower bound?
  • A: First element >= target

SC-178

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-179

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-180

  • Q: Infinite array BS?
  • A: Double bounds first

SC-181

  • Q: BS time?
  • A: O(log n)

SC-182

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-183

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-184

  • Q: Rotated array search?
  • A: Check sorted half

SC-185

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-186

  • Q: BS on answer?
  • A: Search feasible range

SC-187

  • Q: Lower bound?
  • A: First element >= target

SC-188

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-189

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-190

  • Q: Infinite array BS?
  • A: Double bounds first

SC-191

  • Q: BS time?
  • A: O(log n)

SC-192

  • Q: Prerequisite?
  • A: Sorted/monotonic

SC-193

  • Q: Mid formula?
  • A: lo+(hi-lo)/2

SC-194

  • Q: Rotated array search?
  • A: Check sorted half

SC-195

  • Q: Peak element?
  • A: Compare mid vs mid+1

SC-196

  • Q: BS on answer?
  • A: Search feasible range

SC-197

  • Q: Lower bound?
  • A: First element >= target

SC-198

  • Q: 2D matrix BS?
  • A: Flatten to 1D index

SC-199

  • Q: Find min in rotated?
  • A: Compare mid with hi

SC-200

  • Q: Infinite array BS?
  • A: Double bounds first