Practice in the browser
Coding problems
Pick a problem, write your solution in a real editor, and run it against the visible test cases without leaving the page. JavaScript, TypeScript, and Python run in your browser; Java, C, and C++ run in a secure sandbox. Free, no sign-up.
In this set67 problems31 easy29 medium7 hard
Practice by company
See all companiesEach company tends to favour a particular kind of question. Pick one to focus on the problems that commonly appear in its interviews.
Easy
31 problems- Two SumEasyalgorithms
- Reverse StringEasyalgorithms
- Fizz BuzzEasyalgorithms
- Valid PalindromeEasyalgorithms
- Contains DuplicateEasyalgorithms
- Valid AnagramEasyalgorithms
- Best Time to Buy and Sell StockEasyalgorithms
- Binary SearchEasyalgorithms
- Contains DuplicateEasyarrays hashingarraysetduplicate-detection
- Valid AnagramEasyarrays hashingstringhash-mapfrequency-count
- Majority ElementEasyarrays hashingarrayhash-mapfrequency-count
- First Unique Character in a StringEasyarrays hashingstringhash-mapfrequency-count
- Intersection of Two ArraysEasyarrays hashingarraysetintersection
- Single NumberEasyarrays hashingarraybit-manipulationxor
- Word Frequency CountEasyarrays hashingstringhash-mapfrequency-count
- Count Set BitsEasybit manipulationbit manipulationmathpopcount
- Power of TwoEasybit manipulationbit manipulationmatheasy
- Single NumberEasybit manipulationbit manipulationXOReasy
- Count Odd Numbers in an Interval RangeEasymathmathcountingeasy
- Hamming DistanceEasybit manipulationbit manipulationXOReasy
- Valid ParenthesesEasystackstackstringeasy
- Min StackEasystackstackdesigneasy
- Implement Queue Using Two StacksEasyqueuequeuestackeasy
- Reverse a Linked List (Array Representation)Easylinked listlinked-liststackeasy
- Merge Two Sorted Lists (Array Representation)Easylinked listlinked-listtwo-pointerseasy
- Next Greater Element IEasystackstackmonotonic-stackhash-map
- Reverse Words in a StringEasystringsstringstwo-pointerseasy
- Valid AnagramEasystringsstringshash-mapeasy
- Longest Common PrefixEasystringsstringseasyprefix
- String Compression (RLE)Easystringsstringseasyrun-length-encoding
- Title Case a StringEasystringsstringseasyformatting
Medium
29 problems- Maximum SubarrayMediumalgorithms
- Maximum Sum Subarray of Length KMediumsliding windowsliding-windowarraysprefix-sum
- Two Sum II - Input Array Is SortedMediumtwo pointerstwo-pointersarraysbinary-search
- Longest Substring Without Repeating CharactersMediumsliding windowsliding-windowstringshash-map
- Container With Most WaterMediumtwo pointerstwo-pointersarraysgreedy
- Fruit Into BasketsMediumsliding windowsliding-windowarrayshash-map
- Minimum Window SubstringMediumsliding windowsliding-windowstringshash-map
- Trapping Rain WaterMediumtwo pointerstwo-pointersarraysdynamic-programming
- Number of Subarrays with Product Less Than KMediumsliding windowsliding-windowarraystwo-pointers
- Coin Change: Minimum CoinsMediumdynamic programmingdynamic-programmingbottom-upunbounded-knapsack
- Longest Palindromic SubsequenceMediumdynamic programmingdynamic-programminginterval-dpstrings
- Unique Paths with ObstaclesMediumdynamic programmingdynamic-programminggrid2d-dp
- Jump Game II: Minimum JumpsMediumdynamic programmingdynamic-programminggreedyarrays
- Partition Equal Subset SumMediumdynamic programmingdynamic-programming0-1-knapsacksubset-sum
- Word BreakMediumdynamic programmingdynamic-programmingstringshash-set
- Maximum Product SubarrayMediumdynamic programmingdynamic-programmingarrayskadane-variant
- Reverse IntegerMediummathmathmediumoverflow
- Factorial Trailing ZeroesMediummathmathcountingmedium
- Daily TemperaturesMediumstackstackmonotonic-stackmedium
- Parse a CSV LineMediumparsingstringsmediumparsing
- Longest Substring Without Repeating CharactersMediumstringsstringsmediumsliding-window
- Count and SayMediumstringsstringsmediumrun-length-encoding
- Binary Tree Right Side ViewMediumBFS / Treesbfstreelevel-order
- Number of IslandsMediumDFS / Graphsdfsbfsgraph
- Course ScheduleMediumGraphs / Topological Sorttopological-sortdfscycle-detection
- Lowest Common Ancestor of a BSTMediumTrees / BSTbstlcatree-traversal
- Rotting OrangesMediumBFS / Gridsbfsgridmulti-source-bfs
- Max Area of IslandMediumDFS / Graphsdfsgridconnected-components
- Clone GraphMediumGraphs / BFSgraphadjacency-listbfs
Hard
7 problems- Merge K Sorted ArraysHardheapsheappriority-queuemerge
- Minimum Interval to Include Each QueryHardintervalsintervalsheapsorting
- Ship Packages Within D DaysHardbinary search on answerbinary-searchgreedybinary-search-on-answer
- Median of Two Sorted ArraysHardbinary searchbinary-searchdivide-and-conquerarray
- Maximum Non-Overlapping Intervals CountHardintervalsintervalsgreedysorting
- Word Search IIHardbacktrackingbacktrackingtriedfs
- Kth Smallest Element in a Sorted MatrixHardheapsheappriority-queuebinary-search