Episode 7 — DSA with JavaScript / 7.10 — Binary Search
7.10 — Interview Questions: Binary Search
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
| # | Question | Answer |
|---|---|---|
| 1 | BS time? | O(log n) |
| 2 | Prerequisite? | Sorted/monotonic |
| 3 | Mid formula? | lo+(hi-lo)/2 |
| 4 | Rotated array search? | Check sorted half |
| 5 | Peak element? | Compare mid vs mid+1 |
| 6 | BS on answer? | Search feasible range |
| 7 | Lower bound? | First element >= target |
| 8 | 2D matrix BS? | Flatten to 1D index |
| 9 | Find min in rotated? | Compare mid with hi |
| 10 | Infinite 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