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
- curated problems
- levels, easy → DP
- 13
- levels, easy → DP
- video walkthroughs
- 173+
- video walkthroughs
- companies in interview data
- 419
- companies in interview data
Step 0 · Learn the fundamentals
Pick one language and learn the syntax and built-ins you'll use in DSA before diving in.
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
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?”
Step 0 · Learn the fundamentals
Pick one language and learn the syntax and built-ins you'll use in DSA before diving in.
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.