InterviewKata
Interview preparation

Meta interview problems, by pattern

All 377 problems from Meta's six-month LeetCode list (134 Easy, 202 Medium, 41 Hard), grouped by the pattern that solves them. 280 are solved on this site: open one to see which pattern to choose and why, the approach, the code with a line-by-line explanation, and a player that steps through the code on LeetCode's own example. Easy warm-ups and SQL/JavaScript problems link to LeetCode.

On the pattern pages these problems carry a Meta badge. Frequency is LeetCode's relative score for this list (100 = asked most often). Read a pattern page first, then work through its group here from the most to the least frequent problem.

A 6-month plan

About 5–6 problems on 5 days a week. Each month: read the pattern page, solve its worked examples without looking, then this list. Re-solve anything you needed a hint for one week later.

WhenFocusPatterns (problems on the list)Total
Month 1Foundations: arrays you can scan01 · Prefix Sum (15)
02 · Two Pointers (31)
03 · Sliding Window (17)
04 · Fast & Slow Pointers (10)
05 · LinkedList In-place Reversal (13)
21 · Array & String Basics (39)
125
Month 2Stacks, heaps, intervals, binary search06 · Monotonic Stack (10)
07 · Top 'K' Elements (8)
08 · Overlapping Intervals (3)
09 · Modified Binary Search (25)
17 · Stack (16)
62
Month 3Trees and graphs10 · Binary Tree Traversal (30)
11 · Depth-First Search (DFS) on Graphs (8)
12 · Breadth-First Search (BFS) (6)
13 · Matrix Traversal (16)
23 · Union-Find (Disjoint Set Union) (1)
61
Month 4Search and dynamic programming14 · Backtracking (18)
15 · Dynamic Programming Patterns (33)
51
Month 5Hashing, greedy, design, weighted graphs16 · Hash Map & Set (19)
18 · Greedy (15)
19 · Trie & Design (5)
20 · Shortest Path & MST (3)
42
Month 6Math, range structures, then mock interviews22 · Math & Bit Manipulation (25)
24 · Segment Tree & Fenwick Tree (1)
26

In the last two weeks, filter to Hard, sort your attention by frequency, and do timed mock interviews: 45 minutes, talk through the brute force, name the pattern, then code it.

All problems

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SQL/JS

01 · Prefix Sum 15

11 solved on the pattern page (step-by-step explanation and a step-through player), 4 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
560Subarray Sum Equals KMedium81Array, Hash Table, Prefix Sum
528Random Pick with WeightMedium60Array, Math, Binary Search, Prefix Sum, Randomized
238Product of Array Except SelfMedium56Array, Prefix Sum
525Contiguous ArrayMedium43Array, Hash Table, Prefix Sum
724Find Pivot IndexEasy43Array, Prefix Sum
1732Find the Highest AltitudeEasy39Array, Prefix Sum
974Subarray Sums Divisible by KMedium39Array, Hash Table, Prefix Sum
1674Minimum Moves to Make Array ComplementaryMedium33Array, Hash Table, Prefix Sum
2574Left and Right Sum DifferencesEasy33Array, Prefix Sum
1480Running Sum of 1d ArrayEasy33Array, Prefix Sum
825Friends Of Appropriate AgesMedium24Array, Two Pointers, Binary Search, Sorting
3129Find All Possible Stable Binary Arrays IMedium24Dynamic Programming, Prefix Sum
3737Count Subarrays With Majority Element IMedium24Array, Hash Table, Divide and Conquer, Segment Tree, Merge Sort, Counting, Prefix Sum
303Range Sum Query - ImmutableEasy24Array, Design, Prefix Sum
1248Count Number of Nice SubarraysMedium24Array, Hash Table, Math, Sliding Window, Prefix Sum

02 · Two Pointers 31

22 solved on the pattern page (step-by-step explanation and a step-through player), 9 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
26Remove Duplicates from Sorted ArrayEasy76Array, Two Pointers
4Median of Two Sorted ArraysHard76Array, Binary Search, Divide and Conquer
125Valid PalindromeEasy73Two Pointers, String
153SumMedium71Array, Two Pointers, Sorting
408Valid Word Abbreviation PremiumEasy71Two Pointers, String
31Next PermutationMedium70Array, Two Pointers
5Longest Palindromic SubstringMedium67Two Pointers, String, Dynamic Programming, Manacher
88Merge Sorted ArrayEasy67Array, Two Pointers, Sorting
283Move ZeroesEasy66Array, Two Pointers
11Container With Most WaterMedium64Array, Two Pointers, Greedy
189Rotate ArrayMedium58Array, Math, Two Pointers
680Valid Palindrome IIEasy58Two Pointers, String, Greedy
163Sum ClosestMedium56Array, Two Pointers, Sorting
42Trapping Rain WaterHard56Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
167Two Sum II - Input Array Is SortedMedium56Array, Two Pointers, Binary Search
27Remove ElementEasy54Array, Two Pointers
184SumMedium51Array, Two Pointers, Sorting
1768Merge Strings AlternatelyEasy47Two Pointers, String
977Squares of a Sorted ArrayEasy43Array, Two Pointers, Sorting
75Sort ColorsMedium43Array, Two Pointers, Sorting, Quicksort, Bubble Sort
80Remove Duplicates from Sorted Array IIMedium33Array, Two Pointers
541Reverse String IIEasy33Two Pointers, String
653Two Sum IV - Input is a BSTEasy33Hash Table, Two Pointers, Tree, Depth-First Search, Breadth-First Search, Binary Search Tree, Binary Tree
3302Find the Lexicographically Smallest Valid SequenceMedium33Two Pointers, String, Dynamic Programming, Greedy
443String CompressionMedium24Two Pointers, String
344Reverse StringEasy24Two Pointers, String
392Is SubsequenceEasy24Two Pointers, String, Dynamic Programming
3940Limit Occurrences in Sorted ArrayEasy24Array, Two Pointers
2149Rearrange Array Elements by SignMedium24Array, Two Pointers, Simulation
345Reverse Vowels of a StringEasy24Two Pointers, String
455Assign CookiesEasy24Array, Two Pointers, Greedy, Sorting, Quicksort

03 · Sliding Window 17

16 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
121Best Time to Buy and Sell StockEasy84Array, Dynamic Programming
3Longest Substring Without Repeating CharactersMedium76Hash Table, String, Sliding Window
1004Max Consecutive Ones IIIMedium67Array, Binary Search, Sliding Window, Prefix Sum
209Minimum Size Subarray SumMedium64Array, Binary Search, Sliding Window, Prefix Sum
76Minimum Window SubstringHard51Hash Table, String, Sliding Window
3090Maximum Length Substring With Two OccurrencesEasy47Hash Table, String, Sliding Window
567Permutation in StringMedium43Hash Table, Two Pointers, String, Sliding Window
239Sliding Window MaximumHard39Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue, Range Minimum/Maximum Query
438Find All Anagrams in a StringMedium39Hash Table, String, Sliding Window
424Longest Repeating Character ReplacementMedium33Hash Table, String, Sliding Window
643Maximum Average Subarray IEasy33Array, Sliding Window
713Subarray Product Less Than KMedium33Array, Binary Search, Sliding Window, Prefix Sum
1888Minimum Number of Flips to Make the Binary String AlternatingMedium33String, Dynamic Programming, Sliding Window
904Fruit Into BasketsMedium33Array, Hash Table, Sliding Window
219Contains Duplicate IIEasy24Array, Hash Table, Sliding Window
1456Maximum Number of Vowels in a Substring of Given LengthMedium24String, Sliding Window
1358Number of Substrings Containing All Three CharactersMedium24Hash Table, String, Sliding Window

04 · Fast & Slow Pointers 10

10 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
143Reorder ListMedium51Linked List, Two Pointers, Stack, Recursion
141Linked List CycleEasy51Hash Table, Linked List, Two Pointers, Floyd's Cycle Finding Algorithm
19Remove Nth Node From End of ListMedium47Linked List, Two Pointers
876Middle of the Linked ListEasy47Linked List, Two Pointers
287Find the Duplicate NumberMedium47Array, Two Pointers, Binary Search, Bit Manipulation, Pigeonhole Principle, Floyd's Cycle Finding Algorithm
234Palindrome Linked ListEasy43Linked List, Two Pointers, Stack, Recursion
41First Missing PositiveHard39Array, Hash Table
202Happy NumberEasy39Hash Table, Math, Two Pointers, Floyd's Cycle Finding Algorithm
148Sort ListMedium39Linked List, Two Pointers, Divide and Conquer, Sorting, Merge Sort
142Linked List Cycle IIMedium24Hash Table, Linked List, Two Pointers, Floyd's Cycle Finding Algorithm

05 · LinkedList In-place Reversal 13

12 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
2Add Two NumbersMedium74Linked List, Math, Recursion
21Merge Two Sorted ListsEasy56Linked List, Recursion
138Copy List with Random PointerMedium47Hash Table, Linked List
206Reverse Linked ListEasy33Linked List, Recursion
24Swap Nodes in PairsMedium33Linked List, Recursion
61Rotate ListMedium33Linked List, Two Pointers
203Remove Linked List ElementsEasy33Linked List, Recursion
708Insert into a Sorted Circular Linked List PremiumMedium24Linked List
328Odd Even Linked ListMedium24Linked List
82Remove Duplicates from Sorted List IIMedium24Linked List, Two Pointers
86Partition ListMedium24Linked List, Two Pointers
25Reverse Nodes in k-GroupHard24Linked List, Recursion
83Remove Duplicates from Sorted ListEasy24Linked List

06 · Monotonic Stack 10

9 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
84Largest Rectangle in HistogramHard47Array, Stack, Monotonic Stack, Range Minimum/Maximum Query
1762Buildings With an Ocean View PremiumMedium47Array, Stack, Monotonic Stack
496Next Greater Element IEasy43Array, Hash Table, Stack, Monotonic Stack
739Daily TemperaturesMedium43Array, Stack, Monotonic Stack
1475Final Prices With a Special Discount in a ShopEasy33Array, Stack, Monotonic Stack
503Next Greater Element IIMedium24Array, Stack, Monotonic Stack
402Remove K DigitsMedium24String, Stack, Greedy, Monotonic Stack
2104Sum of Subarray RangesMedium24Array, Stack, Monotonic Stack
901Online Stock SpanMedium24Stack, Design, Monotonic Stack, Data Stream
2454Next Greater Element IVHard24Array, Binary Search, Stack, Sorting, Heap (Priority Queue), Monotonic Stack

07 · Top 'K' Elements 8

8 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
215Kth Largest Element in an ArrayMedium68Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect
23Merge k Sorted ListsHard51Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort, Tournament Sort
347Top K Frequent ElementsMedium51Array, Hash Table, Divide and Conquer, Sorting, Heap (Priority Queue), Bucket Sort, Counting, Quickselect
973K Closest Points to OriginMedium47Array, Math, Divide and Conquer, Geometry, Sorting, Heap (Priority Queue), Quickselect, K-D Tree
451Sort Characters By FrequencyMedium43Hash Table, String, Sorting, Heap (Priority Queue), Bucket Sort, Counting
480Sliding Window MedianHard33Array, Hash Table, Sliding Window, Heap (Priority Queue), Treap
373Find K Pairs with Smallest SumsMedium24Array, Heap (Priority Queue)
767Reorganize StringMedium24Hash Table, String, Greedy, Sorting, Heap (Priority Queue), Counting

08 · Overlapping Intervals 3

3 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
56Merge IntervalsMedium67Array, Sorting, Quicksort
986Interval List IntersectionsMedium33Array, Two Pointers, Sweep Line
253Meeting Rooms II PremiumMedium24Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum

09 · Modified Binary Search 25

17 solved on the pattern page (step-by-step explanation and a step-through player), 8 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
162Find Peak ElementMedium62Array, Binary Search
33Search in Rotated Sorted ArrayMedium60Array, Binary Search
34Find First and Last Position of Element in Sorted ArrayMedium58Array, Binary Search
1539Kth Missing Positive NumberEasy58Array, Binary Search
875Koko Eating BananasMedium58Array, Binary Search
35Search Insert PositionEasy56Array, Binary Search
349Intersection of Two ArraysEasy56Array, Hash Table, Two Pointers, Binary Search, Sorting
704Binary SearchEasy51Array, Binary Search
540Single Element in a Sorted ArrayMedium47Array, Binary Search
240Search a 2D Matrix IIMedium43Array, Binary Search, Divide and Conquer, Matrix
69Sqrt(x)Easy39Math, Binary Search, Newton's Method
1283Find the Smallest Divisor Given a ThresholdMedium39Array, Binary Search
74Search a 2D MatrixMedium33Array, Binary Search, Matrix
153Find Minimum in Rotated Sorted ArrayMedium33Array, Binary Search
270Closest Binary Search Tree Value PremiumEasy24Binary Search, Tree, Depth-First Search, Binary Search Tree, Binary Tree
278First Bad VersionEasy24Binary Search, Interactive
441Arranging CoinsEasy24Math, Binary Search
1351Count Negative Numbers in a Sorted MatrixEasy24Array, Binary Search, Matrix
3932Count K-th Roots in a RangeMedium24Math, Binary Search
1608Special Array With X Elements Greater Than or Equal XEasy24Array, Binary Search, Sorting
2035Partition Array Into Two Arrays to Minimize Sum DifferenceHard24Array, Two Pointers, Binary Search, Dynamic Programming, Bit Manipulation, Meet in the Middle, Sorting, Ordered Set, Bitmask
410Split Array Largest SumHard24Array, Binary Search, Dynamic Programming, Greedy, Prefix Sum
1011Capacity To Ship Packages Within D DaysMedium24Array, Binary Search
1901Find a Peak Element IIMedium24Array, Binary Search, Matrix
268Missing NumberEasy24Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting

10 · Binary Tree Traversal 30

27 solved on the pattern page (step-by-step explanation and a step-through player), 3 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
543Diameter of Binary TreeEasy64Tree, Depth-First Search, Binary Tree, DP on Trees
199Binary Tree Right Side ViewMedium62Tree, Depth-First Search, Breadth-First Search, Binary Tree
314Binary Tree Vertical Order Traversal PremiumMedium60Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree
236Lowest Common Ancestor of a Binary TreeMedium56Tree, Depth-First Search, Binary Tree, Binary Lifting, Lowest Common Ancestor
1650Lowest Common Ancestor of a Binary Tree III PremiumMedium54Hash Table, Two Pointers, Tree, Binary Tree, Binary Lifting, Lowest Common Ancestor
938Range Sum of BSTEasy51Tree, Depth-First Search, Binary Search Tree, Binary Tree
101Symmetric TreeEasy47Tree, Depth-First Search, Breadth-First Search, Binary Tree
108Convert Sorted Array to Binary Search TreeEasy47Array, Divide and Conquer, Tree, Binary Search Tree, Binary Tree
124Binary Tree Maximum Path SumHard43Dynamic Programming, Tree, Depth-First Search, Binary Tree, DP on Trees
987Vertical Order Traversal of a Binary TreeHard43Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree
110Balanced Binary TreeEasy43Tree, Depth-First Search, Binary Tree
100Same TreeEasy43Tree, Depth-First Search, Breadth-First Search, Binary Tree
545Boundary of Binary Tree PremiumMedium39Tree, Depth-First Search, Binary Tree
98Validate Binary Search TreeMedium33Tree, Depth-First Search, Binary Search Tree, Binary Tree
104Maximum Depth of Binary TreeEasy33Tree, Depth-First Search, Breadth-First Search, Binary Tree
226Invert Binary TreeEasy33Tree, Depth-First Search, Breadth-First Search, Binary Tree
549Binary Tree Longest Consecutive Sequence II PremiumMedium33Tree, Depth-First Search, Binary Tree, DP on Trees
173Binary Search Tree IteratorMedium33Stack, Tree, Design, Binary Search Tree, Binary Tree, Iterator
94Binary Tree Inorder TraversalEasy33Stack, Tree, Depth-First Search, Binary Tree
297Serialize and Deserialize Binary TreeHard33String, Tree, Depth-First Search, Breadth-First Search, Design, Binary Tree
2265Count Nodes Equal to Average of SubtreeMedium24Tree, Depth-First Search, Binary Tree
1382Balance a Binary Search TreeMedium24Divide and Conquer, Greedy, Tree, Depth-First Search, Binary Search Tree, Binary Tree
114Flatten Binary Tree to Linked ListMedium24Linked List, Stack, Tree, Depth-First Search, Binary Tree
230Kth Smallest Element in a BSTMedium24Tree, Depth-First Search, Binary Search Tree, Binary Tree
113Path Sum IIMedium24Backtracking, Tree, Depth-First Search, Binary Tree
700Search in a Binary Search TreeEasy24Tree, Binary Search Tree, Binary Tree
95Unique Binary Search Trees IIMedium24Dynamic Programming, Backtracking, Tree, Binary Search Tree, Binary Tree
102Binary Tree Level Order TraversalMedium24Tree, Breadth-First Search, Binary Tree
103Binary Tree Zigzag Level Order TraversalMedium24Tree, Breadth-First Search, Binary Tree
783Minimum Distance Between BST NodesEasy24Tree, Depth-First Search, Breadth-First Search, Binary Search Tree, Binary Tree

11 · Depth-First Search (DFS) on Graphs 8

8 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
339Nested List Weight Sum PremiumMedium58Depth-First Search, Breadth-First Search
129Sum Root to Leaf NumbersMedium54Tree, Depth-First Search, Binary Tree
207Course ScheduleMedium54Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort, Directed Acyclic Graph
1971Find if Path Exists in GraphEasy39Depth-First Search, Breadth-First Search, Union-Find, Graph Theory
133Clone GraphMedium24Hash Table, Depth-First Search, Breadth-First Search, Graph Theory
1466Reorder Routes to Make All Paths Lead to the City ZeroMedium24Depth-First Search, Breadth-First Search, Graph Theory
547Number of ProvincesMedium24Depth-First Search, Breadth-First Search, Union-Find, Graph Theory
841Keys and RoomsMedium24Depth-First Search, Breadth-First Search, Graph Theory

12 · Breadth-First Search (BFS) 6

6 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
863All Nodes Distance K in Binary TreeMedium47Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree
1091Shortest Path in Binary MatrixMedium47Array, Breadth-First Search, Matrix
994Rotting OrangesMedium39Array, Breadth-First Search, Matrix
127Word LadderHard33Hash Table, String, Breadth-First Search, Bidirectional Search
286Walls and Gates PremiumMedium24Array, Breadth-First Search, Matrix
1926Nearest Exit from Entrance in MazeMedium24Array, Breadth-First Search, Matrix

13 · Matrix Traversal 16

14 solved on the pattern page (step-by-step explanation and a step-through player), 2 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
73Set Matrix ZeroesMedium62Array, Hash Table, Matrix
200Number of IslandsMedium62Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix
48Rotate ImageMedium47Array, Math, Matrix
54Spiral MatrixMedium43Array, Matrix, Simulation
130Surrounded RegionsMedium43Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix
498Diagonal TraverseMedium39Array, Matrix, Simulation
778Swim in Rising WaterHard39Array, Binary Search, Depth-First Search, Breadth-First Search, Union-Find, Minimax, Heap (Priority Queue), Matrix, Dijkstra's Algorithm
419Battleships in a BoardMedium33Array, Depth-First Search, Matrix
529MinesweeperMedium33Array, Depth-First Search, Breadth-First Search, Matrix
695Max Area of IslandMedium24Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix
1424Diagonal Traverse IIMedium24Array, Sorting, Heap (Priority Queue)
733Flood FillEasy24Array, Depth-First Search, Breadth-First Search, Matrix
1914Cyclically Rotating a GridMedium24Array, Matrix, Simulation
289Game of LifeMedium24Array, Matrix, Simulation
766Toeplitz MatrixEasy24Array, Matrix
867Transpose MatrixEasy24Array, Matrix, Simulation

14 · Backtracking 18

18 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
39Combination SumMedium58Array, Backtracking
51N-QueensHard56Array, Backtracking, Algorithm X
22Generate ParenthesesMedium51String, Dynamic Programming, Backtracking, Bracket Sequences
77CombinationsMedium51Backtracking
17Letter Combinations of a Phone NumberMedium47Hash Table, String, Backtracking
131Palindrome PartitioningMedium47String, Dynamic Programming, Backtracking
46PermutationsMedium43Array, Backtracking
78SubsetsMedium43Array, Backtracking, Bit Manipulation
489Robot Room Cleaner PremiumHard43Backtracking, Interactive
90Subsets IIMedium39Array, Backtracking, Bit Manipulation
79Word SearchMedium33Array, String, Backtracking, Depth-First Search, Matrix
1239Maximum Length of a Concatenated String with Unique CharactersMedium33Array, String, Backtracking, Bit Manipulation
212Word Search IIHard24Array, String, Backtracking, Trie, Matrix
301Remove Invalid ParenthesesHard24String, Backtracking, Breadth-First Search
1291Sequential DigitsMedium24Enumeration
60Permutation SequenceHard24Math, Recursion
980Unique Paths IIIHard24Array, Backtracking, Bit Manipulation, Matrix, Hamiltonian Path
3348Smallest Divisible Digit Product IIHard24Math, String, Backtracking, Greedy, Number Theory

15 · Dynamic Programming Patterns 33

32 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
53Maximum SubarrayMedium64Array, Divide and Conquer, Dynamic Programming
322Coin ChangeMedium62Array, Dynamic Programming, Breadth-First Search, Knapsack Problem, Complete Knapsack
32Longest Valid ParenthesesHard56String, Dynamic Programming, Stack, Bracket Sequences
647Palindromic SubstringsMedium54Two Pointers, String, Dynamic Programming
509Fibonacci NumberEasy54Math, Dynamic Programming, Recursion, Memoization
198House RobberMedium47Array, Dynamic Programming
343Integer BreakMedium47Math, Dynamic Programming
62Unique PathsMedium43Math, Dynamic Programming, Combinatorics
70Climbing StairsEasy43Math, Dynamic Programming, Memoization
152Maximum Product SubarrayMedium43Array, Dynamic Programming
118Pascal's TriangleEasy39Array, Dynamic Programming
123Best Time to Buy and Sell Stock IIIHard39Array, Dynamic Programming
1143Longest Common SubsequenceMedium39String, Dynamic Programming, Longest Common Subsequence
72Edit DistanceMedium39String, Dynamic Programming
312Burst BalloonsHard39Array, Dynamic Programming
3336Find the Number of Subsequences With Equal GCDHard39Array, Math, Dynamic Programming, Number Theory, Euclidean Algorithm, Greatest Common Divisor
10Regular Expression MatchingHard33String, Dynamic Programming, Recursion
746Min Cost Climbing StairsEasy33Array, Dynamic Programming
1871Jump Game VIIMedium33String, Dynamic Programming, Sliding Window, Prefix Sum
120TriangleMedium33Array, Dynamic Programming
877Stone GameMedium33Array, Math, Dynamic Programming, Minimax, Game Theory, Zero-Sum Game
416Partition Equal Subset SumMedium24Array, Dynamic Programming, Knapsack Problem, 0-1 Knapsack
300Longest Increasing SubsequenceMedium24Array, Binary Search, Dynamic Programming, Longest Increasing Subsequence
396Rotate FunctionMedium24Array, Math, Dynamic Programming
918Maximum Sum Circular SubarrayMedium24Array, Divide and Conquer, Dynamic Programming, Queue, Monotonic Queue
516Longest Palindromic SubsequenceMedium24String, Dynamic Programming
139Word BreakMedium24Array, Hash Table, String, Dynamic Programming, Trie, Memoization, Brute-Force Search
115Distinct SubsequencesHard24String, Dynamic Programming
91Decode WaysMedium24String, Dynamic Programming
279Perfect SquaresMedium24Math, Dynamic Programming, Breadth-First Search, Knapsack Problem, Complete Knapsack
213House Robber IIMedium24Array, Dynamic Programming
486Predict the WinnerMedium24Array, Math, Dynamic Programming, Recursion, Minimax, Game Theory, Zero-Sum Game
357Count Numbers with Unique DigitsMedium24Math, Dynamic Programming, Backtracking

16 · Hash Map & Set 19

16 solved on the pattern page (step-by-step explanation and a step-through player), 3 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
1Two SumEasy100Array, Hash Table
49Group AnagramsMedium60Array, Hash Table, String, Sorting
242Valid AnagramEasy60Hash Table, String, Sorting
128Longest Consecutive SequenceMedium58Array, Hash Table, Union-Find
169Majority ElementEasy56Array, Hash Table, Divide and Conquer, Sorting, Counting, Boyer–Moore Majority Vote Algorithm
217Contains DuplicateEasy54Array, Hash Table, Sorting
249Group Shifted Strings PremiumMedium39Array, Hash Table, String
3761Minimum Absolute Distance Between Mirror PairsMedium39Array, Hash Table, Math
387First Unique Character in a StringEasy39Hash Table, String, Queue, Counting
791Custom Sort StringMedium33Hash Table, String, Sorting
229Majority Element IIMedium33Array, Hash Table, Sorting, Counting, Boyer–Moore Majority Vote Algorithm
36Valid SudokuMedium33Array, Hash Table, Matrix
3020Find the Maximum Number of Elements in SubsetMedium33Array, Hash Table, Enumeration
1570Dot Product of Two Sparse Vectors PremiumMedium24Array, Hash Table, Two Pointers, Design, Linear Algebra
205Isomorphic StringsEasy24Hash Table, String
1796Second Largest Digit in a StringEasy24Hash Table, String
3960Frequency Balance SubarrayMedium24
1394Find Lucky Integer in an ArrayEasy24Array, Hash Table, Counting
383Ransom NoteEasy24Hash Table, String, Counting

17 · Stack 16

14 solved on the pattern page (step-by-step explanation and a step-through player), 2 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
20Valid ParenthesesEasy74String, Stack, Bracket Sequences
1249Minimum Remove to Make Valid ParenthesesMedium71String, Stack
71Simplify PathMedium51String, Stack
678Valid Parenthesis StringMedium47String, Dynamic Programming, Stack, Greedy, Bracket Sequences
227Basic Calculator IIMedium43Math, String, Stack
921Minimum Add to Make Parentheses ValidMedium43String, Stack, Greedy, Bracket Sequences
1047Remove All Adjacent Duplicates In StringEasy43String, Stack
636Exclusive Time of FunctionsMedium39Array, Stack
150Evaluate Reverse Polish NotationMedium39Array, Math, Stack
155Min StackMedium33Stack, Design
394Decode StringMedium33String, Stack, Recursion
224Basic CalculatorHard24Math, String, Stack, Recursion
735Asteroid CollisionMedium24Array, Stack, Simulation
856Score of ParenthesesMedium24String, Stack, Bracket Sequences
2696Minimum String Length After Removing SubstringsEasy24String, Stack, Simulation
682Baseball GameEasy24Array, Stack, Simulation

18 · Greedy 15

9 solved on the pattern page (step-by-step explanation and a step-through player), 6 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
55Jump GameMedium56Array, Dynamic Programming, Greedy
122Best Time to Buy and Sell Stock IIMedium51Array, Dynamic Programming, Greedy
912Sort an ArrayMedium47Array, Divide and Conquer, Sorting, Heap (Priority Queue), Merge Sort, Bucket Sort, Radix Sort, Counting Sort
605Can Place FlowersEasy39Array, Greedy
45Jump Game IIMedium33Array, Dynamic Programming, Greedy
1840Maximum Building HeightHard33Array, Math, Sorting
179Largest NumberMedium33Array, String, Greedy, Sorting
3499Maximize Active Section with Trade IMedium33String, Enumeration
164Maximum GapMedium24Array, Sorting, Bucket Sort, Radix Sort, Pigeonhole Principle
1365How Many Numbers Are Smaller Than the Current NumberEasy24Array, Hash Table, Sorting, Counting Sort
3689Maximum Total Subarray Value IMedium24Array, Greedy
1331Rank Transform of an ArrayEasy24Array, Hash Table, Sorting
860Lemonade ChangeEasy24Array, Greedy
3731Find Missing ElementsEasy24Array, Hash Table, Sorting
1502Can Make Arithmetic Progression From SequenceEasy24Array, Sorting

19 · Trie & Design 5

4 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
146LRU CacheMedium58Hash Table, Linked List, Design, Doubly-Linked List
346Moving Average from Data Stream PremiumEasy33Array, Design, Queue, Data Stream
208Implement Trie (Prefix Tree)Medium33Hash Table, String, Design, Trie
381Insert Delete GetRandom O(1) - Duplicates allowedHard24Array, Hash Table, Math, Design, Randomized
432All O`one Data StructureHard24Hash Table, Linked List, Design, Doubly-Linked List

20 · Shortest Path & MST 3

3 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
2812Find the Safest Path in a GridMedium33Array, Binary Search, Breadth-First Search, Union-Find, Heap (Priority Queue), Matrix
787Cheapest Flights Within K StopsMedium33Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory, Heap (Priority Queue), Shortest Path
4003Minimum Cost Path with Alternating Directions IIIHard24

21 · Array & String Basics 39

12 solved on the pattern page (step-by-step explanation and a step-through player), 27 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
13Roman to IntegerEasy56Hash Table, Math, String
1929Concatenation of ArrayEasy56Array, Simulation
14Longest Common PrefixEasy54Array, String, Trie
28Find the Index of the First Occurrence in a StringEasy54Two Pointers, String, String Matching, Z Algorithm, Knuth–Morris–Pratt Algorithm, Boyer–Moore String-Search Algorithm
485Max Consecutive OnesEasy51Array
175Combine Two TablesEasy47Database
65Valid NumberHard43String
824Goat LatinEasy43String
1148Article Views IEasy43Database
1967Number of Strings That Appear as Substrings in WordEasy43Array, String
1757Recyclable and Low Fat ProductsEasy43Database
12Integer to RomanMedium39Hash Table, Math, String
1752Check if Array Is Sorted and RotatedEasy39Array
796Rotate StringEasy39String, String Matching
183Customers Who Never OrderEasy39Database
1581Customer Who Visited but Did Not Make Any TransactionsEasy39Database
197Rising TemperatureEasy39Database
151Reverse Words in a StringMedium39Two Pointers, String
58Length of Last WordEasy33String
584Find Customer RefereeEasy33Database
1251Average Selling PriceEasy33Database
1431Kids With the Greatest Number of CandiesEasy33Array
6Zigzag ConversionMedium33String
577Employee BonusEasy33Database
1280Students and ExaminationsEasy33Database
610Triangle JudgementEasy33Database
182Duplicate EmailsEasy24Database
595Big CountriesEasy24Database
2833Furthest Point From OriginEasy24String, Counting
620Not Boring MoviesEasy24Database
214Shortest PalindromeHard24String, Rolling Hash, String Matching, Hash Function, Manacher, Z Algorithm, Knuth–Morris–Pratt Algorithm
607Sales PersonEasy24Database
2667Create Hello World FunctionEasy24
1378Replace Employee ID With The Unique IdentifierEasy24Database
38Count and SayMedium24String
3517Smallest Palindromic Rearrangement IMedium24String, Sorting, Counting Sort
3518Smallest Palindromic Rearrangement IIHard24Hash Table, Math, String, Combinatorics, Counting
1816Truncate SentenceEasy24Array, String
196Delete Duplicate EmailsEasy24Database

22 · Math & Bit Manipulation 25

7 solved on the pattern page (step-by-step explanation and a step-through player), 18 Easy warm-ups that link to LeetCode.

Done#ProblemLevelFrequencyTopicsLinks
9Palindrome NumberEasy68Math
50Pow(x, n)Medium64Math, Recursion
7Reverse IntegerMedium60Math
66Plus OneEasy56Array, Math
231Power of TwoEasy54Math, Bit Manipulation, Recursion
136Single NumberEasy51Array, Bit Manipulation
412Fizz BuzzEasy39Math, String, Simulation
415Add StringsEasy33Math, String, Simulation
645Set MismatchEasy33Array, Hash Table, Bit Manipulation, Sorting
29Divide Two IntegersMedium33Math, Bit Manipulation
3300Minimum Element After Replacement With Digit SumEasy33Array, Math
1344Angle Between Hands of a ClockMedium33Math
1342Number of Steps to Reduce a Number to ZeroEasy33Math, Bit Manipulation
2220Minimum Bit Flips to Convert NumberEasy24Bit Manipulation
191Number of 1 BitsEasy24Divide and Conquer, Bit Manipulation
1295Find Numbers with Even Number of DigitsEasy24Array, Math
1922Count Good NumbersMedium24Math, Recursion
3754Concatenate Non-Zero Digits and Multiply by Sum IEasy24Math
258Add DigitsEasy24Math, Simulation, Number Theory
371Sum of Two IntegersMedium24Math, Bit Manipulation
1217Minimum Cost to Move Chips to The Same PositionEasy24Array, Math, Greedy
2235Add Two IntegersEasy24Math
3536Maximum Product of Two DigitsEasy24Math, Sorting
1823Find the Winner of the Circular GameMedium24Array, Math, Recursion, Queue, Simulation
67Add BinaryEasy24Math, String, Bit Manipulation, Simulation

23 · Union-Find (Disjoint Set Union) 1

1 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
827Making A Large IslandHard47Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix

24 · Segment Tree & Fenwick Tree 1

1 solved on the pattern page (step-by-step explanation and a step-through player).

Done#ProblemLevelFrequencyTopicsLinks
493Reverse PairsHard24Array, Binary Search, Divide and Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Set, Treap

SQL & JavaScript (practice on LeetCode) 10

Database and JavaScript problems from the list. They aren't Python algorithm problems, so they link straight to LeetCode.