Skip to content

Interview Solver

FeaturesPricingHelp
Sign In
FeaturesPricingHelpSign In

Medium LeetCode Interview Questions

Master 158 medium difficulty coding problems frequently asked in technical interviews at top tech companies. Perfect for building confidence and fundamental problem-solving skills.

Easy (110)Medium (260)Hard (67)
#3594MediumFrequency: 100%

Identify the Largest Outlier in an Array

Asked at Amazon
ArrayHash TableCountingEnumeration
#1
Rank
#3655MediumFrequency: 100%

Digit Operations to Make Two Integers Equal

Asked at Microsoft
MathGraphHeap (Priority Queue)Number TheoryShortest Path
#2
Rank
#1371MediumFrequency: 100%

Minimum Remove to Make Valid Parentheses

Asked at Meta
StringStack
#3
Rank
#3613MediumFrequency: 100%

Maximize Amount After Two Days of Conversions

Asked at Uber
ArrayStringDepth-First SearchBreadth-First SearchGraph
#4
Rank
#49MediumFrequency: 100%

Group Anagrams

Asked at Oracle
ArrayHash TableStringSorting
#5
Rank
#71MediumFrequency: 100%

Simplify Path

Asked at Oracle
StringStack
#6
Rank
#532MediumFrequency: 100%

K-diff Pairs in an Array

Asked at Salesforce
ArrayHash TableTwo PointersBinary SearchSorting
#7
Rank
#1423MediumFrequency: 100%

Maximum Number of Occurrences of a Substring

Asked at Salesforce
Hash TableStringSliding Window
#8
Rank
#286MediumFrequency: 100%

Walls and Gates

Asked at DoorDash
ArrayBreadth-First SearchMatrix
#9
Rank
#1171MediumFrequency: 100%

Shortest Path in Binary Matrix

Asked at Airbnb
ArrayBreadth-First SearchMatrix
#10
Rank
#146MediumFrequency: 100%

LRU Cache

Asked at Flipkart
Hash TableLinked ListDesignDoubly-Linked List
#11
Rank
#362MediumFrequency: 100%

Design Hit Counter

Asked at Databricks
ArrayBinary SearchDesignQueueData Stream
#12
Rank
#314MediumFrequency: 97%

Binary Tree Vertical Order Traversal

Asked at Meta
Hash TableTreeDepth-First SearchBreadth-First SearchSortingBinary Tree
#13
Rank
#227MediumFrequency: 96%

Basic Calculator II

Asked at Meta
MathStringStack
#14
Rank
#658MediumFrequency: 96%

Find K Closest Elements

Asked at DoorDash
ArrayTwo PointersBinary SearchSliding WindowSortingHeap (Priority Queue)
#15
Rank
#348MediumFrequency: 93%

Design Tic-Tac-Toe

Asked at Databricks
ArrayHash TableDesignMatrixSimulation
#16
Rank
#215MediumFrequency: 92%

Kth Largest Element in an Array

Asked at Meta
ArrayDivide and ConquerSortingHeap (Priority Queue)Quickselect
#17
Rank
#1790MediumFrequency: 91%

Lowest Common Ancestor of a Binary Tree III

Asked at Meta
Hash TableTwo PointersTreeBinary Tree
#18
Rank
#364MediumFrequency: 88%

Nested List Weight Sum II

Asked at LinkedIn
StackDepth-First SearchBreadth-First Search
#19
Rank
#1046MediumFrequency: 88%

Max Consecutive Ones III

Asked at LinkedIn
ArrayBinary SearchSliding WindowPrefix Sum
#20
Rank
#200MediumFrequency: 88%

Number of Islands

Asked at Salesforce
ArrayDepth-First SearchBreadth-First SearchUnion FindMatrix
#21
Rank
#300MediumFrequency: 88%

Longest Increasing Subsequence

Asked at Salesforce
ArrayBinary SearchDynamic Programming
#22
Rank
#647MediumFrequency: 88%

Palindromic Substrings

Asked at Salesforce
Two PointersStringDynamic Programming
#23
Rank
#912MediumFrequency: 87%

Random Pick with Weight

Asked at Meta
ArrayMathBinary SearchPrefix SumRandomized
#24
Rank
#238MediumFrequency: 87%

Product of Array Except Self

Asked at Oracle
ArrayPrefix Sum
#25
Rank
#322MediumFrequency: 87%

Coin Change

Asked at Oracle
ArrayDynamic ProgrammingBreadth-First Search
#26
Rank
#1478MediumFrequency: 87%

Maximum Number of Events That Can Be Attended

Asked at Oracle
ArrayGreedySortingHeap (Priority Queue)
#27
Rank
#621MediumFrequency: 85%

Task Scheduler

Asked at Amazon
ArrayHash TableGreedySortingHeap (Priority Queue)Counting
#28
Rank
#50MediumFrequency: 85%

Pow(x, n)

Asked at Meta
MathRecursion
#29
Rank
#162MediumFrequency: 85%

Find Peak Element

Asked at Meta
ArrayBinary Search
#30
Rank
#3MediumFrequency: 84%

Longest Substring Without Repeating Characters

Asked at Microsoft
Hash TableStringSliding Window
#31
Rank
#339MediumFrequency: 84%

Nested List Weight Sum

Asked at Meta
Depth-First SearchBreadth-First Search
#32
Rank
#366MediumFrequency: 84%

Find Leaves of Binary Tree

Asked at LinkedIn
TreeDepth-First SearchBinary Tree
#33
Rank
#8MediumFrequency: 84%

String to Integer (atoi)

Asked at Databricks
String
#34
Rank
#198MediumFrequency: 84%

House Robber

Asked at Databricks
ArrayDynamic Programming
#35
Rank
#213MediumFrequency: 84%

House Robber II

Asked at Databricks
ArrayDynamic Programming
#36
Rank
#752MediumFrequency: 84%

IP to CIDR

Asked at Databricks
StringBit Manipulation
#37
Rank
#560MediumFrequency: 81%

Subarray Sum Equals K

Asked at Meta
ArrayHash TablePrefix Sum
#38
Rank
#53MediumFrequency: 79%

Maximum Subarray

Asked at Microsoft
ArrayDivide and ConquerDynamic Programming
#39
Rank
#236MediumFrequency: 79%

Lowest Common Ancestor of a Binary Tree

Asked at Meta
TreeDepth-First SearchBinary Tree
#40
Rank
#199MediumFrequency: 76%

Binary Tree Right Side View

Asked at Meta
TreeDepth-First SearchBreadth-First SearchBinary Tree
#41
Rank
#347MediumFrequency: 76%

Top K Frequent Elements

Asked at Meta
ArrayHash TableDivide and ConquerSortingHeap (Priority Queue)Bucket SortCountingQuickselect
#42
Rank
#1713MediumFrequency: 76%

Dot Product of Two Sparse Vectors

Asked at Meta
ArrayHash TableTwo PointersDesign
#43
Rank
#3654MediumFrequency: 74%

Minimum Array Sum

Asked at Amazon
ArrayDynamic Programming
#44
Rank
#907MediumFrequency: 73%

Koko Eating Bananas

Asked at DoorDash
ArrayBinary Search
#45
Rank
#1397MediumFrequency: 73%

Search Suggestions System

Asked at DoorDash
ArrayStringBinary SearchTrieSortingHeap (Priority Queue)
#46
Rank
#1783MediumFrequency: 73%

Ways to Make a Fair Array

Asked at DoorDash
ArrayPrefix Sum
#47
Rank
#778MediumFrequency: 72%

Reorganize String

Asked at Amazon
Hash TableStringGreedySortingHeap (Priority Queue)Counting
#48
Rank
#56MediumFrequency: 72%

Merge Intervals

Asked at Meta
ArraySorting
#49
Rank
#39MediumFrequency: 72%

Combination Sum

Asked at TikTok
ArrayBacktracking
#50
Rank
#139MediumFrequency: 72%

Word Break

Asked at TikTok
ArrayHash TableStringDynamic ProgrammingTrieMemoization
#51
Rank
#1929MediumFrequency: 72%

Maximum Value at a Given Index in a Bounded Array

Asked at TikTok
Binary SearchGreedy
#52
Rank
#235MediumFrequency: 72%

Lowest Common Ancestor of a Binary Search Tree

Asked at LinkedIn
TreeDepth-First SearchBinary Search TreeBinary Tree
#53
Rank
#277MediumFrequency: 72%

Find the Celebrity

Asked at LinkedIn
Two PointersGraphInteractive
#54
Rank
#2MediumFrequency: 71%

Add Two Numbers

Asked at Google
Linked ListMathRecursion
#55
Rank
#1108MediumFrequency: 69%

Analyze User Website Visit Pattern

Asked at Amazon
ArrayHash TableSorting
#56
Rank
#1028MediumFrequency: 69%

Interval List Intersections

Asked at Meta
ArrayTwo Pointers
#57
Rank
#129MediumFrequency: 68%

Sum Root to Leaf Numbers

Asked at Meta
TreeDepth-First SearchBinary Tree
#58
Rank
#1014MediumFrequency: 68%

K Closest Points to Origin

Asked at Meta
ArrayMathDivide and ConquerGeometrySortingHeap (Priority Queue)Quickselect
#59
Rank
#1085MediumFrequency: 67%

The Earliest Moment When Everyone Become Friends

Asked at Google
ArrayUnion FindSorting
#60
Rank
#3639MediumFrequency: 67%

Zero Array Transformation I

Asked at Google
ArrayPrefix Sum
#61
Rank
#3647MediumFrequency: 67%

Zero Array Transformation III

Asked at Google
ArrayGreedySortingHeap (Priority Queue)Prefix Sum
#62
Rank
#138MediumFrequency: 67%

Copy List with Random Pointer

Asked at Amazon
Hash TableLinked List
#63
Rank
#2089MediumFrequency: 66%

Maximum Matrix Sum

Asked at Microsoft
ArrayGreedyMatrix
#64
Rank
#957MediumFrequency: 66%

Minimum Add to Make Parentheses Valid

Asked at Meta
StringStackGreedy
#65
Rank
#78MediumFrequency: 64%

Subsets

Asked at Meta
ArrayBacktrackingBit Manipulation
#66
Rank
#758MediumFrequency: 64%

Convert Binary Search Tree to Sorted Doubly Linked List

Asked at Meta
Linked ListStackTreeDepth-First SearchBinary Search TreeBinary TreeDoubly-Linked List
#67
Rank
#893MediumFrequency: 64%

All Nodes Distance K in Binary Tree

Asked at Meta
Hash TableTreeDepth-First SearchBreadth-First SearchBinary Tree
#68
Rank
#1909MediumFrequency: 64%

Buildings With an Ocean View

Asked at Meta
ArrayStackMonotonic Stack
#69
Rank
#54MediumFrequency: 63%

Spiral Matrix

Asked at Uber
ArrayMatrixSimulation
#70
Rank
#79MediumFrequency: 63%

Word Search

Asked at Uber
ArrayStringBacktrackingMatrix
#71
Rank
#399MediumFrequency: 63%

Evaluate Division

Asked at Uber
ArrayStringDepth-First SearchBreadth-First SearchUnion FindGraphShortest Path
#72
Rank
#772MediumFrequency: 63%

Construct Quad Tree

Asked at Uber
ArrayDivide and ConquerTreeMatrix
#73
Rank
#1549MediumFrequency: 63%

Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit

Asked at Uber
ArrayQueueSliding WindowHeap (Priority Queue)Ordered SetMonotonic Queue
#74
Rank
#34MediumFrequency: 63%

Find First and Last Position of Element in Sorted Array

Asked at LinkedIn
ArrayBinary Search
#75
Rank
#40MediumFrequency: 63%

Combination Sum II

Asked at LinkedIn
ArrayBacktracking
#76
Rank
#152MediumFrequency: 63%

Maximum Product Subarray

Asked at LinkedIn
ArrayDynamic Programming
#77
Rank
#244MediumFrequency: 63%

Shortest Word Distance II

Asked at LinkedIn
ArrayHash TableTwo PointersStringDesign
#78
Rank
#31MediumFrequency: 62%

Next Permutation

Asked at Meta
ArrayTwo Pointers
#79
Rank
#721MediumFrequency: 62%

Accounts Merge

Asked at Meta
ArrayHash TableStringDepth-First SearchBreadth-First SearchUnion FindSorting
#80
Rank
#253MediumFrequency: 62%

Meeting Rooms II

Asked at TikTok
ArrayTwo PointersGreedySortingHeap (Priority Queue)Prefix Sum
#81
Rank
#694MediumFrequency: 62%

Number of Distinct Islands

Asked at TikTok
Hash TableDepth-First SearchBreadth-First SearchUnion FindHash Function
#82
Rank
#2414MediumFrequency: 60%

Move Pieces to Obtain a String

Asked at Google
Two PointersString
#83
Rank
#2868MediumFrequency: 60%

Continuous Subarrays

Asked at Google
ArrayQueueSliding WindowHeap (Priority Queue)Ordered SetMonotonic Queue
#84
Rank
#2891MediumFrequency: 60%

Maximum Beauty of an Array After Applying Operation

Asked at Google
ArrayBinary SearchSliding WindowSorting
#85
Rank
#15MediumFrequency: 60%

3Sum

Asked at Amazon
ArrayTwo PointersSorting
#86
Rank
#55MediumFrequency: 60%

Jump Game

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#87
Rank
#3018MediumFrequency: 60%

Make String a Subsequence Using Cyclic Increments

Asked at Amazon
Two PointersString
#88
Rank
#133MediumFrequency: 60%

Clone Graph

Asked at Meta
Hash TableDepth-First SearchBreadth-First SearchGraph
#89
Rank
#807MediumFrequency: 60%

Custom Sort String

Asked at Meta
Hash TableStringSorting
#90
Rank
#850MediumFrequency: 57%

Insert into a Sorted Circular Linked List

Asked at Meta
Linked List
#91
Rank
#998MediumFrequency: 57%

Check Completeness of a Binary Tree

Asked at Meta
TreeBreadth-First SearchBinary Tree
#92
Rank
#207MediumFrequency: 56%

Course Schedule

Asked at Google
Depth-First SearchBreadth-First SearchGraphTopological Sort
#93
Rank
#2164MediumFrequency: 56%

Two Best Non-Overlapping Events

Asked at Google
ArrayBinary SearchDynamic ProgrammingSortingHeap (Priority Queue)
#94
Rank
#6MediumFrequency: 56%

Zigzag Conversion

Asked at Amazon
String
#95
Rank
#17MediumFrequency: 56%

Letter Combinations of a Phone Number

Asked at Amazon
Hash TableStringBacktracking
#96
Rank
#5MediumFrequency: 55%

Longest Palindromic Substring

Asked at Microsoft
Two PointersStringDynamic Programming
#97
Rank
#12MediumFrequency: 55%

Integer to Roman

Asked at Microsoft
Hash TableMathString
#98
Rank
#18MediumFrequency: 55%

4Sum

Asked at Microsoft
ArrayTwo PointersSorting
#99
Rank
#33MediumFrequency: 55%

Search in Rotated Sorted Array

Asked at Microsoft
ArrayBinary Search
#100
Rank
#90MediumFrequency: 55%

Subsets II

Asked at Microsoft
ArrayBacktrackingBit Manipulation
#101
Rank
#128MediumFrequency: 55%

Longest Consecutive Sequence

Asked at Microsoft
ArrayHash TableUnion Find
#102
Rank
#155MediumFrequency: 55%

Min Stack

Asked at Microsoft
StackDesign
#103
Rank
#167MediumFrequency: 55%

Two Sum II - Input Array Is Sorted

Asked at Microsoft
ArrayTwo PointersBinary Search
#104
Rank
#291MediumFrequency: 55%

Word Pattern II

Asked at Microsoft
Hash TableStringBacktracking
#105
Rank
#567MediumFrequency: 55%

Permutation in String

Asked at Microsoft
Hash TableTwo PointersStringSliding Window
#106
Rank
#1036MediumFrequency: 55%

Rotting Oranges

Asked at Microsoft
ArrayBreadth-First SearchMatrix
#107
Rank
#1147MediumFrequency: 55%

Flip Columns For Maximum Number of Equal Rows

Asked at Microsoft
ArrayHash TableMatrix
#108
Rank
#22MediumFrequency: 53%

Generate Parentheses

Asked at Google
StringDynamic ProgrammingBacktracking
#109
Rank
#114MediumFrequency: 53%

Flatten Binary Tree to Linked List

Asked at Google
Linked ListStackTreeDepth-First SearchBinary Tree
#110
Rank
#2300MediumFrequency: 53%

Construct String With Repeat Limit

Asked at Google
Hash TableStringGreedyHeap (Priority Queue)Counting
#111
Rank
#380MediumFrequency: 51%

Insert Delete GetRandom O(1)

Asked at Amazon
ArrayHash TableMathDesignRandomized
#112
Rank
#1056MediumFrequency: 51%

Capacity To Ship Packages Within D Days

Asked at Amazon
ArrayBinary Search
#113
Rank
#116MediumFrequency: 51%

Populating Next Right Pointers in Each Node

Asked at Meta
Linked ListTreeDepth-First SearchBreadth-First SearchBinary Tree
#114
Rank
#173MediumFrequency: 51%

Binary Search Tree Iterator

Asked at Meta
StackTreeDesignBinary Search TreeBinary TreeIterator
#115
Rank
#398MediumFrequency: 51%

Random Pick Index

Asked at Meta
Hash TableMathReservoir SamplingRandomized
#116
Rank
#7MediumFrequency: 48%

Reverse Integer

Asked at Google
Math
#117
Rank
#976MediumFrequency: 48%

Minimum Area Rectangle

Asked at Google
ArrayHash TableMathGeometrySorting
#118
Rank
#1886MediumFrequency: 48%

Minimum Limit of Balls in a Bag

Asked at Google
ArrayBinary Search
#119
Rank
#2232MediumFrequency: 48%

Adding Spaces to a String

Asked at Google
ArrayTwo PointersStringSimulation
#120
Rank
#3643MediumFrequency: 48%

Zero Array Transformation II

Asked at Google
ArrayBinary SearchPrefix Sum
#121
Rank
#48MediumFrequency: 47%

Rotate Image

Asked at Meta
ArrayMathMatrix
#122
Rank
#545MediumFrequency: 47%

Boundary of Binary Tree

Asked at Meta
TreeDepth-First SearchBinary Tree
#123
Rank
#122MediumFrequency: 45%

Best Time to Buy and Sell Stock II

Asked at Amazon
ArrayDynamic ProgrammingGreedy
#124
Rank
#151MediumFrequency: 45%

Reverse Words in a String

Asked at Amazon
Two PointersString
#125
Rank
#373MediumFrequency: 45%

Find K Pairs with Smallest Sums

Asked at Amazon
ArrayHeap (Priority Queue)
#126
Rank
#19MediumFrequency: 43%

Remove Nth Node From End of List

Asked at Meta
Linked ListTwo Pointers
#127
Rank
#249MediumFrequency: 43%

Group Shifted Strings

Asked at Meta
ArrayHash TableString
#128
Rank
#325MediumFrequency: 43%

Maximum Size Subarray Sum Equals k

Asked at Meta
ArrayHash TablePrefix Sum
#129
Rank
#498MediumFrequency: 43%

Diagonal Traverse

Asked at Meta
ArrayMatrixSimulation
#130
Rank
#523MediumFrequency: 43%

Continuous Subarray Sum

Asked at Meta
ArrayHash TableMathPrefix Sum
#131
Rank
#670MediumFrequency: 43%

Maximum Swap

Asked at Meta
MathGreedy
#132
Rank
#11MediumFrequency: 42%

Container With Most Water

Asked at Google
ArrayTwo PointersGreedy
#133
Rank
#46MediumFrequency: 42%

Permutations

Asked at Google
ArrayBacktracking
#134
Rank
#62MediumFrequency: 42%

Unique Paths

Asked at Google
MathDynamic ProgrammingCombinatorics
#135
Rank
#63MediumFrequency: 42%

Unique Paths II

Asked at Google
ArrayDynamic ProgrammingMatrix
#136
Rank
#75MediumFrequency: 42%

Sort Colors

Asked at Google
ArrayTwo PointersSorting
#137
Rank
#179MediumFrequency: 42%

Largest Number

Asked at Google
ArrayStringGreedySorting
#138
Rank
#394MediumFrequency: 42%

Decode String

Asked at Google
StringStackRecursion
#139
Rank
#424MediumFrequency: 42%

Longest Repeating Character Replacement

Asked at Google
Hash TableStringSliding Window
#140
Rank
#518MediumFrequency: 42%

Coin Change II

Asked at Google
ArrayDynamic Programming
#141
Rank
#739MediumFrequency: 42%

Daily Temperatures

Asked at Google
ArrayStackMonotonic Stack
#142
Rank
#987MediumFrequency: 42%

Reveal Cards In Increasing Order

Asked at Google
ArrayQueueSortingSimulation
#143
Rank
#1330MediumFrequency: 42%

Longest Arithmetic Subsequence of Given Difference

Asked at Google
ArrayHash TableDynamic Programming
#144
Rank
#1585MediumFrequency: 42%

The kth Factor of n

Asked at Google
MathNumber Theory
#145
Rank
#1966MediumFrequency: 42%

Frequency of the Most Frequent Element

Asked at Google
ArrayBinary SearchGreedySliding WindowSortingPrefix Sum
#146
Rank
#3681MediumFrequency: 42%

Maximum Area Rectangle With Point Constraints I

Asked at Google
ArrayMathBinary Indexed TreeSegment TreeGeometrySortingEnumeration
#147
Rank
#109MediumFrequency: 37%

Convert Sorted List to Binary Search Tree

Asked at Meta
Linked ListDivide and ConquerTreeBinary Search TreeBinary Tree
#148
Rank
#230MediumFrequency: 37%

Kth Smallest Element in a BST

Asked at Meta
TreeDepth-First SearchBinary Search TreeBinary Tree
#149
Rank
#378MediumFrequency: 37%

Kth Smallest Element in a Sorted Matrix

Asked at Meta
ArrayBinary SearchSortingHeap (Priority Queue)Matrix
#150
Rank
#735MediumFrequency: 37%

Asteroid Collision

Asked at Meta
ArrayStackSimulation
#151
Rank
#852MediumFrequency: 37%

Friends Of Appropriate Ages

Asked at Meta
ArrayTwo PointersBinary SearchSorting
#152
Rank
#36MediumFrequency: 36%

Valid Sudoku

Asked at Amazon
ArrayHash TableMatrix
#153
Rank
#64MediumFrequency: 36%

Minimum Path Sum

Asked at Amazon
ArrayDynamic ProgrammingMatrix
#154
Rank
#80MediumFrequency: 36%

Remove Duplicates from Sorted Array II

Asked at Amazon
ArrayTwo Pointers
#155
Rank
#103MediumFrequency: 36%

Binary Tree Zigzag Level Order Traversal

Asked at Amazon
TreeBreadth-First SearchBinary Tree
#156
Rank
#134MediumFrequency: 36%

Gas Station

Asked at Amazon
ArrayGreedy
#157
Rank
#45MediumFrequency: 33%

Jump Game II

Asked at Google
ArrayDynamic ProgrammingGreedy
#158
Rank
View All Companies

Need Help During Your Interview?

Get real-time AI assistance while solving these medium problems in your actual interviews. Our Interview Copilot provides instant hints and solutions without being detected.

Instant problem solutions
Step-by-step guidance
100% undetectable
Start Free TrialNo credit card requiredView Pricing
Interview Solver
  • Home
  • Pricing
  • Sign in
  • Contact
  • Blog
  • Companion
  • Help Center
  • Use Cases
  • Software Engineer
  • Product Manager
  • Misc
  • Privacy Policy
  • Terms and Conditions
  • Discord Community
  • Affiliate Program
  • Interview Questions
  • Google Interview Questions
  • Amazon Interview Questions
  • Microsoft Interview Questions
  • Meta Interview Questions
  • Apple Interview Questions
  • TikTok Interview Questions
  • View All →
© 2025 Interview Solver, Inc. All rights reserved.