How to learn efficiently

How to learn efficiently

Amazing, you've completed your first DSA problem 🎉 Before we go further, here's how to get the most out of this course.

1. Try before you peek

When you open a problem, attempt it before looking at any hint. Even a wrong attempt rewires your brain to notice the right pattern later. Struggling for a few minutes isn't wasted time — it's how learning actually happens.

2. Run early, run often

The Run button is cheap. Use it to check assumptions: print a value, run it, see what happens. Tight feedback loops beat staring at code.

3. Name the pattern

After you solve something, ask: what kind of problem was that? "Count pairs" → hashing. "Find a path" → graph traversal. "Best over a range" → sliding window or DP. The catalog of patterns is small; recognizing them is the whole game.

4. Mind the complexity

Each problem shows a target complexity. If your solution works but is slower than the target, that's a signal there's a better approach — usually trading memory for time (a hash map) or avoiding repeated work (memoization).

5. Space your repetition

Come back to problems a day or two later. Re-deriving a solution from scratch sticks a lot better than re-reading it. The Mixed Recall section at the end of the course exists for exactly this.

Good luck, and enjoy the journey!