← All patterns
Searching

Binary Search on Array

335 practice questions|Easy

When to use it

Divide search space in half repeatedly to locate targets in sorted arrays.

Key Signals & Indicators

  • Sorted array or list input
  • Need to search elements in O(log n) time
  • Finding target value, bounds, insertion index, boundary elements

Pattern Boilerplate

c++
// C++ Binary Search Template
#include <vector>

int binarySearch(const std::vector<int>& arr, int target) {
    int low = 0;
    int high = arr.size() - 1;
    
    while (low <= high) {
        int mid = low + (high - low) / 2; // Prevent overflow
        if (arr[mid] == target) {
            return mid;
        } else if (arr[mid] < target) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }
    return -1;
}

Problems using this pattern

1132 PatternMedium
ArrayBinary SearchStack
Solve →
23Sum SmallerMedium
ArrayTwo PointersBinary Search
Solve →
3Adjacent Increasing Subarrays Detection IIMedium
ArrayBinary Search
Solve →
4All Elements in Two Binary Search TreesMedium
TreeDepth-First SearchBinary Search Tree
Solve →
5Apply Operations to Maximize Frequency ScoreHard
ArrayBinary SearchSliding Window
Solve →
6Arranging CoinsEasy
MathBinary Search
Solve →
7Avoid Flood in The CityMedium
ArrayHash TableBinary Search
Solve →
8Balance a Binary Search TreeMedium
Divide and ConquerGreedyTree
Solve →
9Binary Search Tree Iterator IIMedium
StackTreeDesign
Solve →
10Binary Search Tree IteratorMedium
StackTreeDesign
Solve →
11Binary Search Tree to Greater Sum TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
12Binary SearchEasy
ArrayBinary Search
Solve →
13Binary Searchable Numbers in an Unsorted ArrayMedium
ArrayBinary SearchStack
Solve →
14Block Placement QueriesHard
ArrayBinary SearchBinary Indexed Tree
Solve →
15Booking Concert Tickets in GroupsHard
Binary SearchDesignBinary Indexed Tree
Solve →
16Capacity To Ship Packages Within D DaysMedium
ArrayBinary Search
Solve →
17Check If a Number Is Majority Element in a Sorted ArrayEasy
ArrayBinary Search
Solve →
18Check If N and Its Double ExistEasy
ArrayHash TableTwo Pointers
Solve →
19Closest Binary Search Tree Value IIHard
Two PointersStackTree
Solve →
20Closest Binary Search Tree ValueEasy
Binary SearchTreeDepth-First Search
Solve →
21Closest Equal Element QueriesMedium
ArrayHash TableBinary Search
Solve →
22Closest Nodes Queries in a Binary Search TreeMedium
ArrayBinary SearchTree
Solve →
23Closest RoomHard
ArrayBinary SearchSorting
Solve →
24Compare Strings by Frequency of the Smallest CharacterMedium
ArrayHash TableString
Solve →
25Construct Binary Search Tree from Preorder TraversalMedium
ArrayStackTree
Solve →
26Convert Binary Search Tree to Sorted Doubly Linked ListMedium
Linked ListStackTree
Solve →
27Convert BST to Greater TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
28Convert Sorted Array to Binary Search TreeEasy
ArrayDivide and ConquerTree
Solve →
29Convert Sorted List to Binary Search TreeMedium
Linked ListDivide and ConquerTree
Solve →
30Count Complete Tree NodesEasy
Binary SearchBit ManipulationTree
Solve →
31Count Good Triplets in an ArrayHard
ArrayBinary SearchDivide and Conquer
Solve →
32Count Negative Numbers in a Sorted MatrixEasy
ArrayBinary SearchMatrix
Solve →
33Count Number of Rectangles Containing Each PointMedium
ArrayHash TableBinary Search
Solve →
34Count of Range SumHard
ArrayBinary SearchDivide and Conquer
Solve →
35Count of Smaller Numbers After SelfHard
ArrayBinary SearchDivide and Conquer
Solve →
36Count Pairs in Two ArraysMedium
ArrayTwo PointersBinary Search
Solve →
37Count Pairs Of NodesHard
ArrayHash TableTwo Pointers
Solve →
38Count Pairs Whose Sum is Less than TargetEasy
ArrayTwo PointersBinary Search
Solve →
39Count Subarrays With More Ones Than ZerosMedium
ArrayHash TableBinary Search
Solve →
40Count Subarrays With Score Less Than KHard
ArrayBinary SearchSliding Window
Solve →
41Count the Number of Fair PairsMedium
ArrayTwo PointersBinary Search
Solve →
42Count the Number of Incremovable Subarrays IEasy
ArrayTwo PointersBinary Search
Solve →
43Count the Number of Incremovable Subarrays IIHard
ArrayTwo PointersBinary Search
Solve →
44Count the Number of K-Big IndicesHard
ArrayBinary SearchDivide and Conquer
Solve →
45Create Sorted Array through InstructionsHard
ArrayBinary SearchDivide and Conquer
Solve →
46Cutting RibbonsMedium
ArrayBinary Search
Solve →
47Data Stream as Disjoint IntervalsHard
Hash TableBinary SearchUnion-Find
Solve →
48Delete Node in a BSTMedium
TreeBinary Search TreeBinary Tree
Solve →
49Design an Array Statistics Tracker Hard
Hash TableBinary SearchDesign
Solve →
50Design Exam Scores TrackerMedium
ArrayBinary SearchDesign
Solve →
51Design Hit CounterMedium
ArrayBinary SearchDesign
Solve →
52Divide ChocolateHard
ArrayBinary Search
Solve →
53Earliest Second to Mark Indices IMedium
ArrayBinary Search
Solve →
54Earliest Second to Mark Indices IIHard
ArrayBinary SearchGreedy
Solve →
55Equalize Strings by Adding or Removing Characters at EndsMedium
StringBinary SearchDynamic Programming
Solve →
56Escape the Spreading FireHard
ArrayBinary SearchBreadth-First Search
Solve →
57Fair Candy SwapEasy
ArrayHash TableBinary Search
Solve →
58Find a Peak Element IIMedium
ArrayBinary SearchMatrix
Solve →
59Find a Value of a Mysterious Function Closest to TargetHard
ArrayBinary SearchBit Manipulation
Solve →
60Find Beautiful Indices in the Given Array IMedium
Two PointersStringBinary Search
Solve →
61Find Beautiful Indices in the Given Array IIHard
Two PointersStringBinary Search
Solve →
62Find Building Where Alice and Bob Can MeetHard
ArrayBinary SearchStack
Solve →
63Find First and Last Position of Element in Sorted ArrayMedium
ArrayBinary Search
Solve →
64Find in Mountain ArrayHard
ArrayBinary SearchInteractive
Solve →
65Find K Closest ElementsMedium
ArrayTwo PointersBinary Search
Solve →
66Find K-th Smallest Pair DistanceHard
ArrayTwo PointersBinary Search
Solve →
67Find Latest Group of Size MMedium
ArrayHash TableBinary Search
Solve →
68Find Longest Special Substring That Occurs Thrice IMedium
Hash TableStringBinary Search
Solve →
69Find Longest Special Substring That Occurs Thrice IIMedium
Hash TableStringBinary Search
Solve →
70Find Maximum Non-decreasing Array LengthHard
ArrayBinary SearchDynamic Programming
Solve →
71Find Minimum in Rotated Sorted Array IIHard
ArrayBinary Search
Solve →
72Find Minimum in Rotated Sorted ArrayMedium
ArrayBinary Search
Solve →
73Find Mode in Binary Search TreeEasy
TreeDepth-First SearchBinary Search Tree
Solve →
74Find Peak ElementMedium
ArrayBinary Search
Solve →
75Find Positive Integer Solution for a Given EquationMedium
MathTwo PointersBinary Search
Solve →
76Find Products of Elements of Big ArrayHard
ArrayBinary SearchBit Manipulation
Solve →
77Find Right IntervalMedium
ArrayBinary SearchSorting
Solve →
78Find Smallest Common Element in All RowsMedium
ArrayHash TableBinary Search
Solve →
79Find Smallest Letter Greater Than TargetEasy
ArrayBinary Search
Solve →
80Find Subarray With Bitwise OR Closest to KHard
ArrayBinary SearchBit Manipulation
Solve →
81Find Target Indices After Sorting ArrayEasy
ArrayBinary SearchSorting
Solve →
82Find the Distance Value Between Two ArraysEasy
ArrayTwo PointersBinary Search
Solve →
83Find the Duplicate NumberMedium
ArrayTwo PointersBinary Search
Solve →
84Find the Index of the Large IntegerMedium
ArrayBinary SearchInteractive
Solve →
85Find the Kth Smallest Sum of a Matrix With Sorted RowsHard
ArrayBinary SearchHeap (Priority Queue)
Solve →
86Find the Longest Equal SubarrayMedium
ArrayHash TableBinary Search
Solve →
87Find the Longest Valid Obstacle Course at Each PositionHard
ArrayBinary SearchBinary Indexed Tree
Solve →
88Find the Median of the Uniqueness ArrayHard
ArrayHash TableBinary Search
Solve →
89Find the Number of Subarrays Where Boundary Elements Are MaximumHard
ArrayBinary SearchStack
Solve →
90Find the Safest Path in a GridMedium
ArrayBinary SearchBreadth-First Search
Solve →
91Find the Smallest Divisor Given a ThresholdMedium
ArrayBinary Search
Solve →
92Find the Student that Will Replace the ChalkMedium
ArrayBinary SearchSimulation
Solve →
93Find Two Non-overlapping Sub-arrays Each With Target SumMedium
ArrayHash TableBinary Search
Solve →
94Find Weighted Median Node in TreeHard
ArrayBinary SearchDynamic Programming
Solve →
95First Bad VersionEasy
Binary SearchInteractive
Solve →
96Fixed PointEasy
ArrayBinary Search
Solve →
97Frequency of the Most Frequent ElementMedium
ArrayBinary SearchGreedy
Solve →
98Friends Of Appropriate AgesMedium
ArrayTwo PointersBinary Search
Solve →
99Frog Jump IIMedium
ArrayBinary SearchGreedy
Solve →
100Fruits Into Baskets IIEasy
ArrayBinary SearchSegment Tree
Solve →
101Fruits Into Baskets IIIMedium
ArrayBinary SearchSegment Tree
Solve →
102Get Equal Substrings Within BudgetMedium
StringBinary SearchSliding Window
Solve →
103Guess Number Higher or LowerEasy
Binary SearchInteractive
Solve →
104H-Index IIMedium
ArrayBinary Search
Solve →
105HeatersMedium
ArrayTwo PointersBinary Search
Solve →
106House Robber IVMedium
ArrayBinary SearchDynamic Programming
Solve →
107Implement RouterMedium
ArrayHash TableBinary Search
Solve →
108Increasing Order Search TreeEasy
StackTreeDepth-First Search
Solve →
109Inorder Successor in BST IIMedium
TreeBinary Search TreeBinary Tree
Solve →
110Inorder Successor in BSTMedium
TreeDepth-First SearchBinary Search Tree
Solve →
111Insert into a Binary Search TreeMedium
TreeBinary Search TreeBinary Tree
Solve →
112Intersection of Three Sorted ArraysEasy
ArrayHash TableBinary Search
Solve →
113Intersection of Two Arrays IIEasy
ArrayHash TableTwo Pointers
Solve →
114Intersection of Two ArraysEasy
ArrayHash TableTwo Pointers
Solve →
115K-diff Pairs in an ArrayMedium
ArrayHash TableTwo Pointers
Solve →
116K-th Smallest Prime FractionMedium
ArrayTwo PointersBinary Search
Solve →
117Koko Eating BananasMedium
ArrayBinary Search
Solve →
118Kth Ancestor of a Tree NodeHard
Binary SearchDynamic ProgrammingBit Manipulation
Solve →
119Kth Largest Element in a StreamEasy
TreeDesignBinary Search Tree
Solve →
120Kth Missing Positive NumberEasy
ArrayBinary Search
Solve →
121Kth Smallest Element in a BSTMedium
TreeDepth-First SearchBinary Search Tree
Solve →
122Kth Smallest Element in a Sorted MatrixMedium
ArrayBinary SearchSorting
Solve →
123Kth Smallest Number in Multiplication TableHard
MathBinary Search
Solve →
124Kth Smallest Product of Two Sorted ArraysHard
ArrayBinary Search
Solve →
125Kth Smallest Subarray SumMedium
ArrayBinary SearchSliding Window
Solve →
126Largest BST SubtreeMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
127Last Day Where You Can Still CrossHard
ArrayBinary SearchDepth-First Search
Solve →
128Leftmost Column with at Least a OneMedium
ArrayBinary SearchMatrix
Solve →
129Longest Arithmetic SubsequenceMedium
ArrayHash TableBinary Search
Solve →
130Longest Common SubpathHard
ArrayBinary SearchRolling Hash
Solve →
131Longest Duplicate SubstringHard
StringBinary SearchSliding Window
Solve →
132Longest Increasing SubsequenceMedium
ArrayBinary SearchDynamic Programming
Solve →
133Longest Repeating SubstringMedium
StringBinary SearchDynamic Programming
Solve →
134Longest Square Streak in an ArrayMedium
ArrayHash TableBinary Search
Solve →
135Longest Subsequence With Limited SumEasy
ArrayBinary SearchGreedy
Solve →
136Longest Uploaded PrefixMedium
Hash TableBinary SearchUnion-Find
Solve →
137Lowest Common Ancestor of a Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
138Magnetic Force Between Two BallsMedium
ArrayBinary SearchSorting
Solve →
139Make Array EmptyHard
ArrayBinary SearchGreedy
Solve →
140Max Consecutive Ones IIIMedium
ArrayBinary SearchSliding Window
Solve →
141Max Sum of Rectangle No Larger Than KHard
ArrayBinary SearchMatrix
Solve →
142Maximize Score of Numbers in RangesMedium
ArrayBinary SearchGreedy
Solve →
143Maximize the Confusion of an ExamMedium
StringBinary SearchSliding Window
Solve →
144Maximize the Minimum Game ScoreHard
ArrayBinary SearchGreedy
Solve →
145Maximize the Minimum Powered CityHard
ArrayBinary SearchGreedy
Solve →
146Maximize the Profit as the SalesmanMedium
ArrayHash TableBinary Search
Solve →
147Maximize Win From Two SegmentsMedium
ArrayBinary SearchSliding Window
Solve →
148Maximum Average Subarray IIHard
ArrayBinary SearchPrefix Sum
Solve →
149Maximum Balanced Subsequence SumHard
ArrayBinary SearchDynamic Programming
Solve →
150Maximum Beauty of an Array After Applying OperationMedium
ArrayBinary SearchSliding Window
Solve →
151Maximum Candies Allocated to K ChildrenMedium
ArrayBinary Search
Solve →
152Maximum Capacity Within BudgetMedium
ArrayTwo PointersBinary Search
Solve →
153Maximum Coins From K Consecutive BagsMedium
ArrayBinary SearchGreedy
Solve →
154Maximum Coins Heroes Can CollectMedium
ArrayTwo PointersBinary Search
Solve →
155Maximum Count of Positive Integer and Negative IntegerEasy
ArrayBinary SearchCounting
Solve →
156Maximum Distance Between a Pair of ValuesMedium
ArrayTwo PointersBinary Search
Solve →
157Maximum Earnings From TaxiMedium
ArrayHash TableBinary Search
Solve →
158Maximum Font to Fit a Sentence in a ScreenMedium
ArrayStringBinary Search
Solve →
159Maximum Frequency of an Element After Performing Operations IMedium
ArrayBinary SearchSliding Window
Solve →
160Maximum Frequency of an Element After Performing Operations IIHard
ArrayBinary SearchSliding Window
Solve →
161Maximum Fruits Harvested After at Most K StepsHard
ArrayBinary SearchSliding Window
Solve →
162Maximum GCD-Sum of a SubarrayHard
ArrayMathBinary Search
Solve →
163Maximum Length of Repeated SubarrayMedium
ArrayBinary SearchDynamic Programming
Solve →
164Maximum Number of AlloysMedium
ArrayBinary Search
Solve →
165Maximum Number of Events That Can Be Attended IIHard
ArrayBinary SearchDynamic Programming
Solve →
166Maximum Number of Groups With Increasing LengthHard
ArrayMathBinary Search
Solve →
167Maximum Number of Integers to Choose From a Range IMedium
ArrayHash TableBinary Search
Solve →
168Maximum Number of Integers to Choose From a Range IIMedium
ArrayBinary SearchGreedy
Solve →
169Maximum Number of Removable CharactersMedium
ArrayTwo PointersString
Solve →
170Maximum Number of Robots Within BudgetHard
ArrayBinary SearchQueue
Solve →
171Maximum Number of Tasks You Can AssignHard
ArrayTwo PointersBinary Search
Solve →
172Maximum Number of Upgradable ServersMedium
ArrayMathBinary Search
Solve →
173Maximum Number That Sum of the Prices Is Less Than or Equal to KMedium
MathBinary SearchDynamic Programming
Solve →
174Maximum Partition FactorHard
ArrayBinary SearchDepth-First Search
Solve →
175Maximum Points Inside the SquareMedium
ArrayHash TableString
Solve →
176Maximum Profit in Job SchedulingHard
ArrayBinary SearchDynamic Programming
Solve →
177Maximum Running Time of N ComputersHard
ArrayBinary SearchGreedy
Solve →
178Maximum Score of a Good SubarrayHard
ArrayTwo PointersBinary Search
Solve →
179Maximum Score of Non-overlapping IntervalsHard
ArrayBinary SearchDynamic Programming
Solve →
180Maximum Side Length of a Square with Sum Less than or Equal to ThresholdMedium
ArrayBinary SearchMatrix
Solve →
181Maximum Sum BST in Binary TreeHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
182Maximum Tastiness of Candy BasketMedium
ArrayBinary SearchGreedy
Solve →
183Maximum Total Beauty of the GardensHard
ArrayTwo PointersBinary Search
Solve →
184Maximum Total Damage With Spell CastingMedium
ArrayHash TableTwo Pointers
Solve →
185Maximum Value at a Given Index in a Bounded ArrayMedium
MathBinary SearchGreedy
Solve →
186Maximum Walls Destroyed by RobotsHard
ArrayBinary SearchDynamic Programming
Solve →
187Maximum White Tiles Covered by a CarpetMedium
ArrayBinary SearchGreedy
Solve →
188Median of a Row Wise Sorted MatrixMedium
ArrayBinary SearchMatrix
Solve →
189Median of Two Sorted ArraysHard
ArrayBinary SearchDivide and Conquer
Solve →
190Merge BSTs to Create Single BSTHard
ArrayHash TableTree
Solve →
191Minimize Connected Groups by Inserting IntervalMedium
ArrayBinary SearchSliding Window
Solve →
192Minimize Max Distance to Gas StationHard
ArrayBinary Search
Solve →
193Minimize Maximum Component CostMedium
Binary SearchUnion-FindGraph Theory
Solve →
194Minimize Maximum of ArrayMedium
ArrayBinary SearchDynamic Programming
Solve →
195Minimize the Maximum Adjacent Element DifferenceHard
ArrayBinary SearchGreedy
Solve →
196Minimize the Maximum Difference of PairsMedium
ArrayBinary SearchDynamic Programming
Solve →
197Minimize the Maximum Edge Weight of GraphMedium
Binary SearchDepth-First SearchBreadth-First Search
Solve →
198Minimize the Maximum of Two ArraysMedium
MathBinary SearchNumber Theory
Solve →
199Minimized Maximum of Products Distributed to Any StoreMedium
ArrayBinary SearchGreedy
Solve →
200Minimum Absolute Difference Between Elements With ConstraintMedium
ArrayBinary SearchOrdered Set
Solve →
201Minimum Absolute Difference in BSTEasy
TreeDepth-First SearchBreadth-First Search
Solve →
202Minimum Absolute Sum DifferenceMedium
ArrayBinary SearchSorting
Solve →
203Minimum Array Length After Pair RemovalsMedium
ArrayHash TableTwo Pointers
Solve →
204Minimum Common ValueEasy
ArrayHash TableTwo Pointers
Solve →
205Minimum Cost to Make Array EqualHard
ArrayBinary SearchGreedy
Solve →
206Minimum Cost to Make Array EqualindromicMedium
ArrayMathBinary Search
Solve →
207Minimum Distance Between BST NodesEasy
TreeDepth-First SearchBreadth-First Search
Solve →
208Minimum Garden Perimeter to Collect Enough ApplesMedium
MathBinary Search
Solve →
209Minimum Interval to Include Each QueryHard
ArrayBinary SearchSweep Line
Solve →
210Minimum K to Reduce Array Within LimitMedium
ArrayBinary Search
Solve →
211Minimum Limit of Balls in a BagMedium
ArrayBinary Search
Solve →
212Minimum Number of Days to Make m BouquetsMedium
ArrayBinary Search
Solve →
213Minimum Number of Operations to Make Array ContinuousHard
ArrayHash TableBinary Search
Solve →
214Minimum Number of Removals to Make Mountain ArrayHard
ArrayBinary SearchDynamic Programming
Solve →
215Minimum Number of Seconds to Make Mountain Height ZeroMedium
ArrayMathBinary Search
Solve →
216Minimum Number of Valid Strings to Form Target IMedium
ArrayStringBinary Search
Solve →
217Minimum Operations to Make a SubsequenceHard
ArrayHash TableBinary Search
Solve →
218Minimum Operations to Make All Array Elements EqualMedium
ArrayBinary SearchSorting
Solve →
219Minimum Operations to Make Binary PalindromeMedium
ArrayTwo PointersBinary Search
Solve →
220Minimum Operations to Make Numbers Non-positiveHard
ArrayBinary Search
Solve →
221Minimum Operations to Make the Array K-IncreasingHard
ArrayBinary Search
Solve →
222Minimum Operations to Reduce X to ZeroMedium
ArrayHash TableBinary Search
Solve →
223Minimum Removals to Balance ArrayMedium
ArrayBinary SearchSliding Window
Solve →
224Minimum Size Subarray SumMedium
ArrayBinary SearchSliding Window
Solve →
225Minimum Space Wasted From PackagingHard
ArrayBinary SearchSorting
Solve →
226Minimum Speed to Arrive on TimeMedium
ArrayBinary Search
Solve →
227Minimum Stability Factor of ArrayHard
ArrayMathBinary Search
Solve →
228Minimum Sum of Squared DifferenceMedium
ArrayBinary SearchGreedy
Solve →
229Minimum Sum of Values by Dividing ArrayHard
ArrayBinary SearchDynamic Programming
Solve →
230Minimum Time for K Connected ComponentsMedium
Binary SearchUnion-FindGraph Theory
Solve →
231Minimum Time to Activate StringMedium
ArrayBinary Search
Solve →
232Minimum Time to Complete All DeliveriesMedium
MathBinary Search
Solve →
233Minimum Time to Complete All TasksHard
ArrayBinary SearchStack
Solve →
234Minimum Time to Complete TripsMedium
ArrayBinary Search
Solve →
235Minimum Time to Eat All GrainsHard
ArrayTwo PointersBinary Search
Solve →
236Minimum Time to Repair CarsMedium
ArrayBinary Search
Solve →
237Missing Element in Sorted ArrayMedium
ArrayBinary Search
Solve →
238Missing NumberEasy
ArrayHash TableMath
Solve →
239Most Beautiful Item for Each QueryMedium
ArrayBinary SearchSorting
Solve →
240Most Profit Assigning WorkMedium
ArrayTwo PointersBinary Search
Solve →
241My Calendar IMedium
ArrayBinary SearchDesign
Solve →
242My Calendar IIMedium
ArrayBinary SearchDesign
Solve →
243My Calendar IIIHard
Binary SearchDesignSegment Tree
Solve →
244Nth DigitMedium
MathBinary Search
Solve →
245Nth Magical NumberHard
MathBinary Search
Solve →
246Number of Equal Numbers BlocksMedium
ArrayBinary SearchInteractive
Solve →
247Number of Excellent PairsHard
ArrayHash TableBinary Search
Solve →
248Number of Flowers in Full BloomHard
ArrayHash TableBinary Search
Solve →
249Number of Matching SubsequencesMedium
ArrayHash TableString
Solve →
250Number of Pairs Satisfying InequalityHard
ArrayBinary SearchDivide and Conquer
Solve →
251Number of Subarrays With AND Value of KHard
ArrayBinary SearchBit Manipulation
Solve →
252Number of Subsequences That Satisfy the Given Sum ConditionMedium
ArrayTwo PointersBinary Search
Solve →
253Number of Ways to Reorder Array to Get Same BSTHard
ArrayMathDivide and Conquer
Solve →
254Numbers At Most N Given Digit SetHard
ArrayMathString
Solve →
255Online ElectionMedium
ArrayHash TableBinary Search
Solve →
256Online Majority Element In SubarrayHard
ArrayBinary SearchDesign
Solve →
257Partition Array Into Two Arrays to Minimize Sum DifferenceHard
ArrayTwo PointersBinary Search
Solve →
258Path Existence Queries in a Graph IMedium
ArrayHash TableBinary Search
Solve →
259Path Existence Queries in a Graph IIHard
ArrayTwo PointersBinary Search
Solve →
260Path With Maximum Minimum ValueMedium
ArrayBinary SearchDepth-First Search
Solve →
261Path With Minimum EffortMedium
ArrayBinary SearchDepth-First Search
Solve →
262Peak Index in a Mountain ArrayMedium
ArrayBinary Search
Solve →
263Plates Between CandlesMedium
ArrayStringBinary Search
Solve →
264Pour Water Between Buckets to Make Water Levels EqualMedium
ArrayBinary Search
Solve →
265Preimage Size of Factorial Zeroes FunctionHard
MathBinary Search
Solve →
266Prime Subtraction OperationMedium
ArrayMathBinary Search
Solve →
267Random Pick with BlacklistHard
ArrayHash TableMath
Solve →
268Random Pick with WeightMedium
ArrayMathBinary Search
Solve →
269Random Point in Non-overlapping RectanglesMedium
ArrayMathBinary Search
Solve →
270Range Frequency QueriesMedium
ArrayHash TableBinary Search
Solve →
271Range Sum of BSTEasy
TreeDepth-First SearchBinary Search Tree
Solve →
272Range Sum of Sorted Subarray SumsMedium
ArrayTwo PointersBinary Search
Solve →
273Reach a NumberMedium
MathBinary Search
Solve →
274Recover Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
275Reverse PairsHard
ArrayBinary SearchDivide and Conquer
Solve →
276Russian Doll EnvelopesHard
ArrayBinary SearchDynamic Programming
Solve →
277Search a 2D Matrix IIMedium
ArrayBinary SearchDivide and Conquer
Solve →
278Search a 2D MatrixMedium
ArrayBinary SearchMatrix
Solve →
279Search in a Binary Search TreeEasy
TreeBinary Search TreeBinary Tree
Solve →
280Search in a Sorted Array of Unknown SizeMedium
ArrayBinary SearchInteractive
Solve →
281Search in Rotated Sorted Array IIMedium
ArrayBinary Search
Solve →
282Search in Rotated Sorted ArrayMedium
ArrayBinary Search
Solve →
283Search Insert PositionEasy
ArrayBinary Search
Solve →
284Search Suggestions SystemMedium
ArrayStringBinary Search
Solve →
285Sell Diminishing-Valued Colored BallsMedium
ArrayMathBinary Search
Solve →
286Separate Squares IMedium
ArrayBinary Search
Solve →
287Separate Squares IIHard
ArrayBinary SearchSegment Tree
Solve →
288Serialize and Deserialize BSTMedium
StringTreeDepth-First Search
Solve →
289Shortest Distance to Target ColorMedium
ArrayBinary SearchDynamic Programming
Solve →
290Shortest Matching SubstringHard
Two PointersStringBinary Search
Solve →
291Shortest Subarray to be Removed to Make Array SortedMedium
ArrayTwo PointersBinary Search
Solve →
292Shortest Subarray with Sum at Least KHard
ArrayBinary SearchQueue
Solve →
293Shortest Way to Form StringMedium
Two PointersStringBinary Search
Solve →
294Single Element in a Sorted ArrayMedium
ArrayBinary Search
Solve →
295Smallest Good BaseHard
MathBinary Search
Solve →
296Smallest Rectangle Enclosing Black PixelsHard
ArrayBinary SearchDepth-First Search
Solve →
297Smallest Subarrays With Maximum Bitwise ORMedium
ArrayBinary SearchBit Manipulation
Solve →
298Smallest Substring With Identical Characters IHard
ArrayBinary SearchEnumeration
Solve →
299Smallest Substring With Identical Characters IIHard
StringBinary Search
Solve →
300Snapshot ArrayMedium
ArrayHash TableBinary Search
Solve →
301Sorted GCD Pair QueriesHard
ArrayHash TableMath
Solve →
302Sorting Three GroupsMedium
ArrayBinary SearchDynamic Programming
Solve →
303Special Array IIMedium
ArrayBinary SearchPrefix Sum
Solve →
304Special Array With X Elements Greater Than or Equal XEasy
ArrayBinary SearchSorting
Solve →
305Split Array Largest SumHard
ArrayBinary SearchDynamic Programming
Solve →
306Split BSTMedium
TreeBinary Search TreeRecursion
Solve →
307Sqrt(x)Easy
MathBinary Search
Solve →
308Subarray Product Less Than KMedium
ArrayBinary SearchSliding Window
Solve →
309Subsequence With the Minimum ScoreHard
Two PointersStringBinary Search
Solve →
310Successful Pairs of Spells and PotionsMedium
ArrayTwo PointersBinary Search
Solve →
311Sum of Mutated Array Closest to TargetMedium
ArrayBinary SearchSorting
Solve →
312Sum of Scores of Built StringsHard
StringBinary SearchRolling Hash
Solve →
313Sum of Square NumbersMedium
MathTwo PointersBinary Search
Solve →
314Super Egg DropHard
MathBinary SearchDynamic Programming
Solve →
315Swim in Rising WaterHard
ArrayBinary SearchDepth-First Search
Solve →
316The K Weakest Rows in a MatrixEasy
ArrayBinary SearchSorting
Solve →
317The Latest Time to Catch a BusMedium
ArrayTwo PointersBinary Search
Solve →
318Threshold Majority QueriesHard
ArrayHash TableBinary Search
Solve →
319Time Based Key-Value StoreMedium
Hash TableStringBinary Search
Solve →
320Trim a Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
321Tweet Counts Per FrequencyMedium
Hash TableStringBinary Search
Solve →
322Two Best Non-Overlapping EventsMedium
ArrayBinary SearchDynamic Programming
Solve →
323Two Sum BSTsMedium
Two PointersBinary SearchStack
Solve →
324Two Sum II - Input Array Is SortedMedium
ArrayTwo PointersBinary Search
Solve →
325Two Sum IV - Input is a BSTEasy
Hash TableTwo PointersTree
Solve →
326Two Sum Less Than KEasy
ArrayTwo PointersBinary Search
Solve →
327Ugly Number IIIMedium
MathBinary SearchCombinatorics
Solve →
328Unique Binary Search Trees IIMedium
Dynamic ProgrammingBacktrackingTree
Solve →
329Unique Binary Search TreesMedium
MathDynamic ProgrammingTree
Solve →
330Valid Perfect SquareEasy
MathBinary Search
Solve →
331Valid Triangle NumberMedium
ArrayTwo PointersBinary Search
Solve →
332Validate Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
333Verify Preorder Sequence in Binary Search TreeMedium
ArrayStackTree
Solve →
334Ways to Split Array Into Three SubarraysMedium
ArrayTwo PointersBinary Search
Solve →
335Zero Array Transformation IIMedium
ArrayBinary SearchPrefix Sum
Solve →