💡💡💡A Full year with no days off- My thoughts.💡💡💡

image

Hey, so I've set a goal to remain consistent over the past year and I've decided to share some thoughts with you about this long journey of DSA. Feel free to disagree with any of my points.

  • The number of problems you have solved means absolutely nothing, and leetcode alone will not make you great at problem solving.
  • Making a post about something, doesn't always mean that you understand it.
  • You can't force learning topics that you don't like. The only thing you're achieving by forcing it is temporarily remembering it.
  • Half-assing a concept will most certainly eventually hurt your progress and waste your time.
  • You are not meant to understand every problem's solution. You need a certain level of algorithmic maturity for some problems. A lot of times this maturity comes from practice/ concepts that you have not studied yet. For example, no matter how much we discuss/practice a problem that requires the Convex Hull optimization, you still won't get it until you ve studied its theory, or the underlying concepts like dp/monoq.
  • High rated people are not always the best teachers.
  • Low rated people over long periods of time are most certainly not your best resource.
  • Posts like aatalyk's Dynamic Programming Patterns are trash. 2 weeks in you will have forgotten most of what you've learned, because you haven't really learned anything other than a few lines of code.
  • Setting time-schedules for a concept that you're studying is lamentable. Your brain doesnt respond to stimuli the way you expect it to.
  • Not having a schedule for the concepts you must study makes you a slave of occasion.
  • You can't really "finish" studying a challenging concept like dp, but you can attain some basic knowledge first, that will enable you to move on to other conecpts. BFS- style learning will be better in long term.
  • Ideas survive in your memory, implementations do not.
  • Just because you have implemented something, doesn't mean that you understand it.
  • You don't really understand things that you haven't implemented yet.
  • If you don't look at your old code and cringe, are you really improving?
  • Most likely, you don't even know what you don't know yet.
  • You shouldn't blidnly trust anything that you havent researched yourself from multiple sources.
  • Single contest ratings don't mean that much.
  • You're not really improving if your rating stays the same for long periods of time.
  • Copy-pasting solutions that you don't understand is for trash in denial who've hit rock bottom.
  • Avoiding contests to preserve rating is also for trash in denial.
  • Skipping a contest to study and remain on schedule won't hurt you.
  • Upsolving contest problems may hurt you and waste your time, when you lack knowledge of underlying basic concepts which you're better off studying first.
  • Your mental can break at some point. Spending more than 3 days to understand an approach can be stressful and disappointing.
  • If your mental is intact and your progress flatlines, consider doing harder problems/ studying more challenging topics.
  • Consistency on DSA can and will affect your personal life, especially if you're commited. The degree however depends on how much you let it affect it. You're not Gennady, and you know it. You haven't spent 10 years solving this kind of problems so it's only natural to struggle for many of them. This however should not discourage you from trying to be uncomfortable. Excuses are easy to find, especially when they' re de facto important, like work, family, money you name it. At these moments you have to remember that not everybody starts this race with the same tools, but it's the same race for everyone.
Comments (72)