A step-by-step plan to get good at DSA interviews.
-
Fork & maintain notes. Fork this repo and create
*.notes.mdfiles alongside each problem file. For example, maintainarray.notes.mdwith all your notes for problems discussed — use a table format (problem, approach, complexity, key takeaway). -
Always use the correct approach. Even if a brute-force or suboptimal algorithm passes the test cases, that does not mean you can get away with it in a standard DSA round. Solve every problem with the intended optimal approach.
-
Solve by applying patterns, not ad-hoc. Identify the underlying pattern (two pointers, sliding window, BFS, etc.) before writing code. Learn all canonical solutions — don't just memorize, understand why each pattern applies.
Level 1 — LeetCode 75
The essentials. Covers all major topics (arrays, trees, graphs, DP, etc.) in 75 problems. Start here.
Level 2 — Top Interview 150
More problems, harder variants, and a few extra topics like matrix, design, and math. The core interview prep.
Go deeper on the topics that trip people up the most:
Additional problem lists from well-known content creators:
Level 5 — LeetCode Pattern 500
500 problems organized by pattern. For building speed and recognition. Do this when you want to go from good to great.