Problems
Classic coding-interview problems. Write your solution in JavaScript or Java, run the examples, submit against hidden tests and compare with the optimal approach. Your code and progress are saved in this browser.
0/ 70 solved
How it worksPick a problem, choose JavaScript or Java, press Run for the examples and Submit for the full hidden test suite. Stuck? Hints and a full solution are one click away.
StatusTitleTopicsSolved inDifficulty
1. Two SumArrayHash TableEasy2. Valid ParenthesesStringStackEasy3. Reverse Linked ListLinked ListRecursionEasy4. Maximum Depth of Binary TreeTreeBinary TreeDFSEasy5. Move ZeroesArrayTwo PointersEasy6. Group AnagramsArrayHash TableStringMedium7. Min StackStackDesignMedium8. Contains DuplicateArrayHash TableSortingEasy9. Valid AnagramStringHash TableSortingEasy10. Best Time to Buy and Sell StockArrayGreedyDynamic ProgrammingEasy11. Majority ElementArrayHash TableSortingEasy12. Valid PalindromeStringTwo PointersEasy13. Top K Frequent ElementsArrayHash TableHeapMedium14. Product of Array Except SelfArrayPrefix SumMedium15. Longest Consecutive SequenceArrayHash TableMedium16. 3SumArrayTwo PointersSortingMedium17. Container With Most WaterArrayTwo PointersGreedyMedium18. Longest Substring Without Repeating CharactersStringHash TableSliding WindowMedium19. Longest Repeating Character ReplacementStringHash TableSliding WindowMedium20. Subarray Sum Equals KArrayHash TablePrefix SumMedium21. Trapping Rain WaterArrayTwo PointersDynamic ProgrammingHard22. Minimum Window SubstringStringHash TableSliding WindowHard23. Binary SearchArrayBinary SearchEasy24. Merge Two Sorted ListsLinked ListRecursionEasy25. Evaluate Reverse Polish NotationArrayStackMathMedium26. Daily TemperaturesArrayStackMedium27. Generate ParenthesesStringBacktrackingRecursionMedium28. Search in Rotated Sorted ArrayArrayBinary SearchMedium29. Find Minimum in Rotated Sorted ArrayArrayBinary SearchMedium30. Koko Eating BananasArrayBinary SearchMedium31. Remove Nth Node From End of ListLinked ListTwo PointersMedium32. Add Two NumbersLinked ListMathRecursionMedium33. Reorder ListLinked ListTwo PointersRecursionMedium34. LRU CacheHash TableLinked ListDesignMedium35. Largest Rectangle in HistogramArrayStackHard36. Merge k Sorted ListsLinked ListHeapSortingHard37. Median of Two Sorted ArraysArrayBinary SearchHard38. Invert Binary TreeTreeBinary TreeDFSEasy39. Same TreeTreeBinary TreeDFSEasy40. Diameter of Binary TreeTreeBinary TreeDFSEasy41. Binary Tree Level Order TraversalTreeBinary TreeBFSMedium42. Validate Binary Search TreeTreeBSTDFSMedium43. Kth Smallest Element in a BSTTreeBSTDFSMedium44. Lowest Common Ancestor of a BSTTreeBSTBinary SearchMedium45. Binary Tree Right Side ViewTreeBinary TreeBFSMedium46. Construct Binary Tree from Preorder and Inorder TraversalTreeBinary TreeHash TableMedium47. Implement Trie (Prefix Tree)TrieDesignStringMedium48. Kth Largest Element in an ArrayArrayHeapSortingMedium49. K Closest Points to OriginArrayHeapMathMedium50. Task SchedulerArrayHash TableGreedyMedium51. Find Median from Data StreamHeapDesignSortingHard52. Binary Tree Maximum Path SumTreeBinary TreeDFSHard53. Climbing StairsDynamic ProgrammingMathRecursionEasy54. House RobberArrayDynamic ProgrammingMedium55. Coin ChangeArrayDynamic ProgrammingBFSMedium56. Longest Increasing SubsequenceArrayDynamic ProgrammingBinary SearchMedium57. Unique PathsDynamic ProgrammingMathMatrixMedium58. Word BreakStringDynamic ProgrammingHash TableMedium59. Jump GameArrayGreedyDynamic ProgrammingMedium60. Merge IntervalsArraySortingIntervalsMedium61. Non-overlapping IntervalsArrayGreedySortingMedium62. Number of IslandsGraphDFSBFSMedium63. Rotting OrangesBFSMatrixGraphMedium64. Course ScheduleGraphDFSBFSMedium65. SubsetsArrayBacktrackingBit ManipulationMedium66. PermutationsArrayBacktrackingRecursionMedium67. Combination SumArrayBacktrackingMedium68. Word SearchBacktrackingMatrixDFSMedium69. Longest Common SubsequenceStringDynamic ProgrammingMedium70. Edit DistanceStringDynamic ProgrammingHardNo problems match those filters.