How I revisit important DSA problems while practicing.

richacode
3 min readOct 11, 2021

In continuation of previous post.

I mentioned that revisiting some set of important problems helped me in revising better. But how to do that? I may not know which method will work for you, but what helped for me is below:

  1. Selected some DP problems, as DP I would always avoid. I am article , it was mentioned categories wise. So I created those categories and in front of them mentioned the problems. eg below is rough timetable for reference:
DP problem list

I just has a column of different categories, then in front of them is list of problems links (leetcode links in image above), then column with target date to complete(this I keep updating, if I miss previous dates), color code convention (as I keep changing colors as I keep doing them. Like turning them more green as you revisit more; or if you can solve without looking solution, turn them orange; if the problem was something new or it has solution that was difficult to come up or new tricks used, marked it purple; border made more bold, if problem marked hard on leetcode.. what ever you may feel like should go on excel and what ever you feel good to distinguish.) , and lastly some comments or notes.

2. This way of horizontally making list was much easier to look at a glance than doing it vertically.

vertically keeping track

This list was abandoned way to earlier. As the list kept growing and there was not way to keep track of most important question. Then amount of rows in this was overwhelming to revisit. Hence its not a good structure

3. You may keep similar list for each upcoming week or month and plan ahead for the next.

Notes:

  • Benefit — You don’t have to search back for good questions in a heap of problems
  • You may end up doing just a 10 to 20 % of what you planned. It’s okay. Keep that also recorded next to it that how many you were able to solve out of total. Low percentage will help you see how much more effort you need to put next. I sometimes end up solving just 3/26 targeted 😧.

The reasons for such low count could be — I picked too hard problems and kept giving up : then you need to pick good mix of problems in-order to keep going, as doing too hard problem will make you give up at early stages; OR I might got distracted/lazy and skipped the deadline — then you need to bring more discipline in you. You might have more motivation but need to work on discipline; OR worked late in office — need to properly prioritize office work at office time and problem solving at study time

  • These set of problems will help you during interview too to revise in short time. Gradually you might just be looking at the problem and know its solution, or having a walk and revised 10 of them. 😎
  • It might get fun to see them become more greener.

In the end, problem solving or any other task you dealing with in life, will help you look at it like an experience similar to experience you have when traveling. Every day is a new day and you learn to adapt what comes your way beautifully.

Happy coding 👩

You don’t judge people by just what the score board says, You judge people by the effort that they put into doing those things.

— Nick Bollettieri

--

--