LeetCode Top Interview 150
150 problems · 23 topics · source ↗
0 / 150 solved0%
optimal Big-OO(1) · O(log n)constant / logO(n) · O(n log n)linear / n log nO(n²) · O(m·n)quadratic / polyO(2ⁿ) · O(n!)exponential
Array / String
0/24- Merge Sorted Array↗EasyO(m+n)
- Remove Element↗EasyO(n)
- Remove Duplicates from Sorted Array↗EasyO(n)
- Remove Duplicates from Sorted Array II↗MediumO(n)
- Majority Element↗EasyO(n)
- Rotate Array↗MediumO(n)
- Best Time to Buy and Sell Stock↗EasyO(n)
- Best Time to Buy and Sell Stock II↗MediumO(n)
- Jump Game↗MediumO(n)
- Jump Game II↗MediumO(n)
- H-Index↗MediumO(n)
- Insert Delete GetRandom O(1)↗MediumO(1)
- Product of Array Except Self↗MediumO(n)
- Gas Station↗MediumO(n)
- Candy↗HardO(n)
- Trapping Rain Water↗HardO(n)
- Roman to Integer↗EasyO(n)
- Integer to Roman↗MediumO(1)
- Length of Last Word↗EasyO(n)
- Longest Common Prefix↗EasyO(n·m)
- Reverse Words in a String↗MediumO(n)
- Zigzag Conversion↗MediumO(n)
- Find the Index of the First Occurrence in a String↗EasyO(n+m)
- Text Justification↗HardO(n)
Two Pointers
0/5- Valid Palindrome↗EasyO(n)
- Is Subsequence↗EasyO(n)
- Two Sum II — Input Array Is Sorted↗MediumO(n)
- Container with Most Water↗MediumO(n)
- 3Sum↗MediumO(n^2)
Sliding Window
0/4- Minimum Size Subarray Sum↗MediumO(n)
- Longest Substring Without Repeating Characters↗MediumO(n)
- Substring with Concatenation of All Words↗HardO(n·m)
- Minimum Window Substring↗HardO(n)
Matrix
0/5- Valid Sudoku↗MediumO(n^2)
- Spiral Matrix↗MediumO(m·n)
- Rotate Image↗MediumO(n^2)
- Set Matrix Zeroes↗MediumO(m·n)
- Game of Life↗MediumO(m·n)
Hashmap
0/9- Ransom Note↗EasyO(n)
- Isomorphic Strings↗EasyO(n)
- Word Pattern↗EasyO(n)
- Valid Anagram↗EasyO(n)
- Group Anagrams↗MediumO(n·k)
- Two Sum↗EasyO(n)
- Happy Number↗EasyO(log n)
- Contains Duplicate II↗EasyO(n)
- Longest Consecutive Sequence↗MediumO(n)
Intervals
0/4- Summary Ranges↗EasyO(n)
- Merge Intervals↗MediumO(n log n)
- Insert Interval↗MediumO(n)
- Minimum Number of Arrows to Burst Balloons↗MediumO(n log n)
Stack
0/5- Valid Parentheses↗EasyO(n)
- Simplify Path↗MediumO(n)
- Min Stack↗MediumO(1)
- Evaluate Reverse Polish Notation↗MediumO(n)
- Basic Calculator↗HardO(n)
Linked List
0/11- Linked List Cycle↗EasyO(n)
- Add Two Numbers↗MediumO(n)
- Merge Two Sorted Lists↗EasyO(n+m)
- Copy List with Random Pointer↗MediumO(n)
- Reverse Linked List II↗MediumO(n)
- Reverse Nodes in K Group↗HardO(n)
- Remove Nth Node from End of List↗MediumO(n)
- Remove Duplicates from Sorted List II↗MediumO(n)
- Rotate List↗MediumO(n)
- Partition List↗MediumO(n)
- LRU Cache↗MediumO(1)
Binary Tree General
0/14- Maximum Depth of Binary Tree↗EasyO(n)
- Same Tree↗EasyO(n)
- Invert Binary Tree↗EasyO(n)
- Symmetric Tree↗EasyO(n)
- Construct Binary Tree from Preorder and Inorder Traversal↗MediumO(n)
- Construct Binary Tree from Inorder and Postorder Traversal↗MediumO(n)
- Populating Next Right Pointers in Each Node II↗MediumO(n)
- Flatten Binary Tree to Linked List↗MediumO(n)
- Path Sum↗EasyO(n)
- Sum Root to Leaf Numbers↗MediumO(n)
- Binary Tree Maximum Path Sum↗HardO(n)
- Binary Search Tree Iterator↗MediumO(1)
- Count Complete Tree Nodes↗EasyO(log^2 n)
- Lowest Common Ancestor of a Binary Tree↗MediumO(n)
Binary Tree BFS
0/4- Binary Tree Right Side View↗MediumO(n)
- Average of Levels in Binary Tree↗EasyO(n)
- Binary Tree Level Order Traversal↗MediumO(n)
- Binary Tree Zigzag Level Order Traversal↗MediumO(n)
Binary Search Tree
0/3- Minimum Absolute Difference in BST↗EasyO(n)
- Kth Smallest Element in a BST↗MediumO(n)
- Validate Binary Search Tree↗MediumO(n)
Graph General
0/6- Number of Islands↗MediumO(m·n)
- Surrounded Regions↗MediumO(m·n)
- Clone Graph↗MediumO(V+E)
- Evaluate Division↗MediumO(V+E)
- Course Schedule↗MediumO(V+E)
- Course Schedule II↗MediumO(V+E)
Graph BFS
0/3- Snakes and Ladders↗MediumO(n^2)
- Minimum Genetic Mutation↗MediumO(n)
- Word Ladder↗HardO(n·m^2)
Trie
0/3- Implement Trie Prefix Tree↗MediumO(n)
- Design Add and Search Words Data Structure↗MediumO(n)
- Word Search II↗HardO(m·n·4^L)
Backtracking
0/7- Letter Combinations of a Phone Number↗MediumO(4^n)
- Combinations↗MediumO(k·C^n)
- Permutations↗MediumO(n·n!)
- Combination Sum↗MediumO(2^n)
- N-Queens II↗HardO(n!)
- Generate Parentheses↗MediumO(4^n)
- Word Search↗MediumO(m·n·4^L)
Divide & Conquer
0/4- Convert Sorted Array to Binary Search Tree↗EasyO(n)
- Sort List↗MediumO(n log n)
- Construct Quad Tree↗MediumO(n^2)
- Merge K Sorted Lists↗HardO(n log k)
Kadane's Algorithm
0/2- Maximum Subarray↗MediumO(n)
- Maximum Sum Circular Subarray↗MediumO(n)
Binary Search
0/7- Search Insert Position↗EasyO(log n)
- Search a 2D Matrix↗MediumO(log n)
- Find Peak Element↗MediumO(log n)
- Search in Rotated Sorted Array↗MediumO(log n)
- Find First and Last Position of Element in Sorted Array↗MediumO(log n)
- Find Minimum in Rotated Sorted Array↗MediumO(log n)
- Median of Two Sorted Arrays↗HardO(log n)
Heap
0/4- Kth Largest Element in an Array↗MediumO(n log k)
- IPO↗HardO(n log n)
- Find K Pairs with Smallest Sums↗MediumO(k log k)
- Find Median from Data Stream↗HardO(log n)
Bit Manipulation
0/6- Add Binary↗EasyO(n)
- Reverse Bits↗EasyO(1)
- Number of 1 Bits↗EasyO(1)
- Single Number↗EasyO(n)
- Single Number II↗MediumO(n)
- Bitwise AND of Numbers Range↗MediumO(log n)
Math
0/6- Palindrome Number↗EasyO(log n)
- Plus One↗EasyO(n)
- Factorial Trailing Zeroes↗MediumO(log n)
- Sqrt(x)↗EasyO(log n)
- Pow(x, n)↗MediumO(log n)
- Max Points On a Line↗HardO(n^2)
1D DP
0/5- Climbing Stairs↗EasyO(n)
- House Robber↗MediumO(n)
- Word Break↗MediumO(n^2)
- Coin Change↗MediumO(n·A)
- Longest Increasing Subsequence↗MediumO(n log n)
Multidimensional DP
0/9- Triangle↗MediumO(n^2)
- Minimum Path Sum↗MediumO(m·n)
- Unique Paths II↗MediumO(m·n)
- Longest Palindromic Substring↗MediumO(n^2)
- Interleaving String↗MediumO(m·n)
- Edit Distance↗MediumO(m·n)
- Best Time to Buy and Sell Stock III↗HardO(n)
- Best Time to Buy and Sell Stock IV↗HardO(n·k)
- Maximal Square↗MediumO(m·n)