How can I build strong DSA skills and prepare for medium-level problems in 40 days?

0
4
Asked By MellowCedar42 On

I'm a student who has started practicing data structures and algorithms in Python. I've solved around 30 coding problems so far, mostly on LeetCode, but I haven't participated in any contests yet. I have about 40 days before a recruitment process begins, and I want to build a solid understanding of the major DSA concepts, improve pattern recognition, and become comfortable solving standard medium-level problems, including some Codeforces-style questions.

One issue I'm facing is that I often feel completely blank when I revisit a problem after a week, even if I understood the solution originally. I also sometimes make careless mistakes, and my solutions occasionally have time complexities that are too slow. I'm currently following the NeetCode 150 list to avoid practicing completely random problems. What would be the most effective way to structure my learning, revision, and practice over the next 40 days so that I can solve problems more efficiently and independently?

3 Answers

Answered By PixelHarbor7 On

After every problem, write down the pattern, the key observation, the approach, and the time and space complexity in your own words. Then revisit it a few days later and try to solve it from scratch without opening the solution. If you get stuck, give yourself a short hint rather than immediately rereading everything. That repeated recall is what prevents the feeling of recognizing a problem but being unable to solve it.

Answered By QuartzMango_8 On

Use the NeetCode list as a structured roadmap, but don’t try to finish it mechanically. Group problems by topic and pattern—arrays and hashing, two pointers, sliding window, binary search, stacks, trees, graphs, heaps, backtracking, and dynamic programming. For each topic, learn the basic technique, solve a few representative problems, and then mix old and new problems so you practice identifying the pattern instead of memorizing the order.

Answered By BlueOrbit55 On

For the next 40 days, prioritize quality and timed practice over solving a huge number of questions. Spend part of each session learning or reviewing one concept, solve a small set of related problems, and keep an error log for complexity issues and careless mistakes. Start doing short mock contests or timed sets once you know the fundamentals. When your solution is too slow, check the constraints first and ask what operation is causing the bottleneck before trying to optimize randomly.

MellowCedar42 -

That makes sense. I especially need to start tracking the mistakes instead of just moving on after getting an answer accepted.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.