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
- 223+
- videosvideo walkthroughs
- companies in interview data
- 419
- companiescompanies in interview data
Step 00 · Before DSA
Can you already write a little code?
Loops, if/else, lists and functions in any one language: that's all DSA needs. If not yet, three free crash courses get you there.
How do you want to start?
Pick one. No account needed: this device remembers your choice and progress, and the site shapes itself around them. Sign up any time to keep it on every device and get reminders.
- I'm new to DSAStart with the basics, coded right here. Where are you?Never codedKnow a languageKnow a bit, check me
- 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 00 · Before DSA
Can you already write a little code?
Loops, if/else, lists and functions in any one language: that's all DSA needs. If not yet, three free crash courses get you there.
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 00 · Before DSA
Can you already write a little code?
Loops, if/else, lists and functions in any one language: that's all DSA needs. If not yet, three free crash courses get you there.
Learning path
Stages to learn DSA
For anyone learning DSA: start with arrays and strings, then take on the patterns one at a time, or jump to any stage (none are locked). 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
54 in Srujan's journal
- 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)
- 17Bubble SortCustom · Quadratic Sorting / SwappingEasyO(N²)
6 of 54
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.