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
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
55 in Srujan's journal
- 24Kth Largest Element (Quickselect)
LeetCode · Quickselect / Partitioning+9MediumO(N) Average
- 23Search in Rotated Sorted Array
LeetCode · Modified Binary Search+9MediumO(log N)
- 22Counting Sort (Implementation)Custom · Non-Comparison Sorting / Frequency MappingMediumO(N + K)
- 21Heap Sort (Implementation)Custom · Priority Queue / Heapify+7MediumO(N log N)
- 20Sort Colors (Dutch National Flag)
LeetCode · Three-Way Partitioning / Two Pointers+9MediumO(N)
- 19Quick Sort (Implementation)Custom · PartitioningMediumO(N log N)
6 of 55
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.