LeetCode's Top Interview 150 is the broadest free study plan, and in Python it is a good tour of the standard library. Its 23 groups are listed in LeetCode's order, but that order is not the best learning order: it starts with 24 array and string problems, three of them hard. This page gives a better sequence, the Python tools and idioms for each group, the problems worth repeating and a schedule for six to ten weeks. For the plan itself, see our LeetCode Top Interview 150 guide; for language questions, our Python interview questions.
The groups in a sensible order
The plan has 39 easy, 93 medium and 18 hard problems, none of them Premium. Counts were read from each list's own site data in November 2026. Lists are edited from time to time, so numbers can drift.
| Stage | Groups (problems) | Python tools |
|---|---|---|
| 1. Warm-up | Hashmap (9), two pointers (5), sliding window (4), Kadane's algorithm (2) | dict, set, Counter, zip |
| 2. Arrays and strings | Array / string (24), matrix (5), intervals (4) | slicing, str.split(), ' '.join, sort(key=...) |
| 3. Linear structures | Stack (5), linked list (11) | list as stack, dummy node, OrderedDict |
| 4. Searching | Binary search (7), heap (4), bit manipulation (6), math (6) | bisect, heapq, masks, math.gcd |
| 5. Trees | Binary tree general (14), BFS (4), BST (3), trie (3), divide and conquer (4) | recursion, deque, dict tries |
| 6. Graphs and search | Graph general (6), graph BFS (3), backtracking (7) | defaultdict(list), deque |
| 7. Dynamic programming | 1-D (5), multidimensional (9) | functools.cache, 2-D lists |
Idioms by group
- Array / string: Insert Delete GetRandom O(1) pairs a list with a dict of indexes, swapping the removed item with the last one before
pop(), and usesrandom.choice. Text Justification is pure string building withdivmodto spread spaces. - Matrix: Valid Sudoku keys each 3 by 3 box as
(r // 3, c // 3); Game of Life encodes the next state in spare bits so the update happens in place. - Linked list: LRU Cache is
OrderedDictwithmove_to_endandpopitem(last=False), but be ready to build the doubly linked list if asked. - Bit manipulation: Single Number II counts each of 32 bits; Python has no 32-bit wrap, so if the result is at least
2**31, subtract2**32to restore a negative answer. - Math: Max Points on a Line keys slopes by
(dy // g, dx // g)withg = math.gcd(dy, dx)and a fixed sign, instead of floats; Sqrt(x) and Pow(x, n) expect binary search and fast exponentiation, notmath.isqrtor**. - Heap: IPO uses two structures: projects sorted by capital and a max-heap of profits; push negated profits, or use
heappush_maxon Python 3.14 and later. - Divide and conquer: Sort List is merge sort on a linked list using fast and slow pointers to split it.
- Multidimensional DP: Triangle runs bottom-up in one list; Best Time to Buy and Sell Stock III and IV track buy and sell states per transaction.
Problems worth repeating
Some problems teach a technique the rest of the plan reuses. Redo these until you can write them in under 15 minutes:
| Problem | Why it matters |
|---|---|
| Product of Array Except Self | Prefix and suffix passes without division |
| Minimum Window Substring | The general variable-size sliding window |
| LRU Cache | Hash map plus doubly linked list, a common design question |
| Binary Tree Maximum Path Sum | Returning one value while updating another |
| Course Schedule II | Topological order with in-degrees |
| Median of Two Sorted Arrays | Binary search on a partition |
| Edit Distance | The template for two-string dynamic programming |
Top Interview 150 shares 77 problems with NeetCode 150, by our count, so the Python tools in NeetCode 150 in Python carry over.
Schedules for six to ten weeks
- Six weeks: about 25 problems a week, roughly 20 hours; stages 1 and 2 in week 1, then one stage a week, with week 6 for dynamic programming and review.
- Eight weeks: about 19 a week; give trees and graphs a week each and keep the last week for repeats.
- Ten weeks: about 15 a week, with time to redo every failed problem after a week.
Short on time? LeetCode's own shorter plan is covered in our LeetCode 75 guide; it has no hard problems.
Turning a list into interview skill
Any list only helps if the practice transfers to problems you have not seen. These habits make the difference:
- Time-box every attempt: about 25 minutes for a medium before you read a solution.
- Keep a log with one line per problem: the pattern, the key idea and the complexity.
- Redo failed problems after three days, a week and three weeks, without looking at your old code.
- Explain your approach out loud before and while you code, as you would to an interviewer.
- In the last two weeks, switch to unseen problems without topic labels.
The patterns most lists are built on are explained in array and string patterns and tree, graph and recursion patterns.
Where CoPilot Interview fits
Finishing a list is not the same as passing an interview: interviewers score how you explain your approach, your trade-offs and your complexity out loud. CoPilot Interview is an AI interview assistant; its free AI mock interview asks coding questions, listens to your spoken explanation and scores it out of ten with a model answer, which is the part a problem list cannot train. The free plan gives 15 minutes a day of live help in sessions of up to 15 minutes, with AI mock interviews included. Online assessments and live coding rounds usually forbid outside help, so practice now and follow your employer's rules on the day.
Disclosure: CoPilot Interview is our product, so weigh what we say about it accordingly.
Frequently asked questions
How many problems are in Top Interview 150?
150: 39 easy, 93 medium and 18 hard, in 23 groups, all free, according to LeetCode's study-plan data in November 2026.
Should I follow Top Interview 150 in LeetCode's order?
Not necessarily. It opens with 24 array and string problems, including hard ones. Starting with hash maps, two pointers and sliding windows builds the basics first.
Which Python version does LeetCode use?
Python 3.14 for the Python3 option, as LeetCode's help page listed it in November 2026. The sortedcontainers library is also available there.
How long does Top Interview 150 take?
Six to ten weeks is realistic for most people with some practice, at 15 to 25 problems a week.
Practice this interview before the real one
The AI mock interview builds questions from your resume and the job description, reads them aloud and scores each spoken answer out of 10. Included on the free plan.
Start a mock interview