Red-Green-Code

Deliberate practice techniques for software developers

  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter

A Project for 2022

By Duncan Smith Jan 5 0

2022

A few months ago, I noticed something about LeetCode’s daily LeetCoding Challenge: The problems were starting to repeat. This had happened in the past, but not as regularly. At this point, I can say that it’s definitely a trend. Almost every daily problem is a repeat of a problem from an earlier month of the Challenge. It’s not that the challenge authors have run out of problems. LeetCode has over 2000 problems in its library, and the daily challenge has been running for less than two years. At one problem per day, that leaves plenty of unused problems. So they’re doing it for some other reason.

Fortunately, problem repeats are not a big deal. The daily challenge is mainly a way to gamify the process of selecting one LeetCode problem per day to solve. But there’s nothing stopping a LeetCoder from picking any problem they want (assuming it’s an unlocked problem, or they have a premium subscription). In fact, problem repeats may actually be a good thing, as I’ll explain in this 2022 project plan.

Identifying the hard parts of a problem

Like last year’s project, my 2022 project will be based on LeetCode problems and model solutions. Of course I’ll continue participating in the daily problem, because why not. But as I mentioned last week, solving a problem once provides only limited benefits when it comes to learning new techniques and preparing for interviews. Since I don’t have a lot of time every day to spend on LeetCode, a new problem every day may be too much of a good thing. Having repeated problems in the Challenge means I don’t need to spend as much time on the daily problem, which provides more time to revisit problems that I select on my own.

I already have a full-time job, and I don’t have any interviews planned in the near future. If I wanted to properly learn a new problem every day using the process I described last week, there’s no way I could fit the required study time in my schedule. Instead, I’m planning my project around an in-depth study of one problem per week. Each week, I’ll select a problem from the set of problems I have solved previously during the LeetCoding Challenge, and turn the solution into a formal model solution that’s appropriate for learning and studying.

More specifically, I’ll be focusing this year on finding the hard parts of a problem using a spaced repetition process. As I explained last week, I have been observing how which parts of a coding problem I find challenging depends on when I last looked at the problem. For example, if I solved the problem recently, I can generally remember exact lines of code and just reproduce them. If it has been a long time since I solved the problem, I have to try to remember concepts, and come up with the code based on those.

So in addition to tracking quantitative spaced repetition details like my last practice date and how long a problem took to solve, I’ll also note what made the problem difficult to solve during that repetition. It could be something fundamental about the algorithm, something about that specific problem, or just a programming language syntax issue. This should allow me to target learning difficulties at a more granular level, thereby making the spaced repetition process more efficient.

Quora in 2022

I plan to keep answering questions on Quora this year.

The biggest change on Quora in 2021 was Quora+, the company’s plan to supplement its advertising income with subscription income. I don’t plan to participate in Quora+ either as a publisher or as a consumer. I’m not inclined to do the former because the dollar amounts involved are too miniscule to offset the annoyance factor for readers. And I’m not interested in the latter because Quora’s content quality is too unreliable to be worth a monthly fee. If Quora implemented the changes suggested by Jon Shore, a subscription might be worth it. But those changes are highly unlikely for both technical and business reasons.

So my Quora answers will continue to be free to read in 2022, and I will continue to share free daily content on Coder vs. Coder.

Good luck in 2022!

(Image credit: Marco Verch)

Categories: LeetCode, Quora

Prev
Next

Stay in the Know

I'm trying out the latest learning techniques on software development concepts, and writing about what works best. Sound interesting? Subscribe to my free newsletter to keep up to date. Learn More
Unsubscribing is easy, and I'll keep your email address private.

Getting Started

Are you new here? Check out my review posts for a tour of the archives:

  • 2022 in Review: Content Bots
  • 2021 in Review: Thoughts on Solving Programming Puzzles
  • Lessons from the 2020 LeetCode Monthly Challenges
  • 2019 in Review
  • Competitive Programming Frequently Asked Questions: 2018 In Review
  • What I Learned Working On Time Tortoise in 2017
  • 2016 in Review
  • 2015 in Review
  • 2015 Summer Review

Archives

Recent Posts

  • LeetCode Tip 11: How To Use Spaced Repetition (Part 1) March 22, 2023
  • LeetCode Tip 10: Planning a Spaced Repetition Schedule March 15, 2023
  • Book Review – Algorithmic Thinking: A Problem-Based Introduction, Second Edition March 9, 2023
  • LeetCode Tip 9: Spaced Repetition March 8, 2023
  • LeetCode Tip 8: Anatomy of a Model Solution March 1, 2023
  • LeetCode Tip 7: How to Write a Model Solution February 22, 2023
  • LeetCode Tip 6: Model Solutions February 15, 2023
  • LeetCode Tip 5: Choosing a Model Problem February 8, 2023
  • LeetCode Tip 4: Model Problems February 1, 2023
  • LeetCode Tip 3: A Goal for LeetCode Practice January 25, 2023
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2023 Duncan Smith