Free & beginner-friendly · by
Srujan Chidarla
Learn DSA one stage at a time
A structured path from arrays to dynamic programming — hand-picked problems, a walkthrough video for nearly every one, and real interview tags. The progress numbers here are Srujan's, learning in public.
- curated problems
- 159
- problemscurated problems
- levels, easy → DP
- 13
- levelslevels, easy → DP
- video walkthroughs
- 173+
- videosvideo walkthroughs
- companies in interview data
- 419
- companiescompanies in interview data
How do you want to start?
Pick one. You can switch any time, and your progress counts everywhere.
- I'm new to DSAStart the roadmap at level 1: a short lesson on arrays and strings, then five easy problems.Start level 1
- I have interviews coming upTell us the companies and the date. We'll size a day-by-day plan and track your pace.Make my plan
- I just want to practiceOne problem a day, with reviews after 1 day, 1 week and 1 month so it sticks. No setup.Today's problem
Step 0 · Learn the fundamentals
New to coding too? Start with Step 0
DSA problems assume you can write basic code. Pick one language, watch its crash course, then come back for Stage 1. Already comfortable in one? Skip straight to it.
Before you start · learn the topic
~10 minutesWarm up for Two Sum: Arrays & Strings
Arrays and strings are the default input shape on LeetCode. If you can scan a list, count characters, and use a hash map for lookups, the later patterns feel much easier.
Make sure you know
- →Index into a list and walk left → right
- →Count frequencies with a hash map
- →Use a set to check “have I seen this?”
- →Build a new string or array from an answer
Tip: Say the brute force out loud first, then ask “what am I looking up twice?”
00Step 0 · Learn one languagePython, Java or C++: the syntax and built-ins DSA uses
Learning path
Stages to learn DSA
For anyone learning DSA: start with arrays and strings, then unlock easy patterns one at a time. Expand a stage for the why, what to learn, and starter problems — open one for its walkthrough, a step-by-step visual and the companies that ask it.
Every level, with your progress: the roadmap →Srujan's recently solved
86 in Srujan's journal
- 55Kids With the Greatest Number of Candies
LeetCode (1431) · Precompute Max + Scan+3EasyO(n)
- 54Best Time to Buy and Sell Stock
LeetCode (121) · Track the Minimum+9EasyO(n)
- 53Longest Substring Without Repeating Characters
LeetCode (3) · Sliding Window + Set+9MediumO(n)
- 52Product of Array Except Self
LeetCode (238) · Prefix & Suffix Passes+9MediumO(n)
- 51Maximum Subarray
LeetCode (53) · Kadane's Algorithm+9MediumO(n)
- 50Reverse Linked List
LeetCode (206) · Pointer Reversal+9EasyO(n)
6 of 86
Ready when you are
Stage 1 starts with Two Sum.
Pick a language, watch the concept video, then solve it yourself. Come back tomorrow for the next one.