Home » Get a job » How Many LeetCode Problems Per Day Should You Solve?

How Many LeetCode Problems Per Day Should You Solve?

So it’s time for you to start thinking about your coding interview skills, and you are getting ready to begin your LeetCode marathon. You may be wondering, how many LeetCode problems per day should you aim to solve?

In general, solving 1-2 problems a day is both realistic and plenty, maybe more during the weekends. However, in many cases, such as for a shortly upcoming interview, you may need to consider solving a lot more than that.

But how many LeetCode questions should you aim to solve in total? How early should you start solving them? How many questions a day is good for different situations? Read on to find out.

What Is Your Ultimate Goal?

Before trying to figure out how many questions you may need to solve in total and in a single day, you need to set your goal.

Your goal may look very difficult depending on your desired final outcome. It may be getting an internship at a specific company or at FAANG in general. In this case, you may want to focus on LeetCode sets for these specific companies.

Another goal you may have is to be prepared for all the different kinds of technical interviews, for which a good goal might be to be able to solve any medium-difficulty problem in under 30 minutes, as that way you will be able to solve just about anything that is likely to come your way during an interview.

Once you know what your goal is, it will be easier to set a realistic number of LeetCode problems per day that you should aim to solve.

If you don’t have a specific goal or a time constraint and just want to get better at LeetCode, solving 1-2 problems per day is a good rule of thumb to follow, unless your interview is scheduled soon and you don’t feel quite prepared.

How Many LeetCode Problems Should I Do in Total?

First of all, quality and quantity go hand-in-hand when deciding the total number of LeetCode problems you should solve in total before your interview season kicks off. You should try to maximize the number of questions you solve while not sacrificing the amount of time you spend fully understanding each solution and possible alternatives.

After all, if you solve a problem just to forget about it the next day or understand it only vaguely, there isn’t much point in solving dozens or hundreds of questions just to catch that number.

As someone starting your LeetCode journey, 150-200 questions should be your approximate target (according to multiple personal accounts from various sources). If you want to be thoroughly prepared, target 200-300 problems.

Make sure to evenly distribute the challenges among various topics. If there are some areas such as dynamic programming or graph theory that you have already practiced, you can adjust the number of problems to solve accordingly.

Similarly, if you already have a lot of experience or are very confident in your problem-solving skills, you could also start solving LeetCode problems and then see if you are comfortable with just solving maybe a hundred questions in total.

Solving Leetcode questions every day
Photo by Alexandru Acea @ Unsplash

Set Your Timeline

If you are 6 months away from potential interview season: congratulations, you are an early starter! You can probably get by solving just 1 problem during the weekdays and a couple during the weekends, and be more than adequately prepared when the interview season starts.

See also  Is C a Low-Level Language?

On the other hand, if you are just a few weeks away from an interview, you may need to force yourself a lot more.

If you estimate the need to solve around 150 questions on LeetCode and have 3 weeks to complete them, you may need to significantly up your LeetCode game.

This is why knowing your timeline is extremely important when trying to schedule how many LeetCode questions per day you should be solving to feel prepared when the time comes.

As a note, in LeetCode Premium you can get access to the Top 50 Questions for each company. This is particularly good when you want to practice just before interviews or when you have very little time to prepare. These questions can help you brush up on all concepts in a short period.

Calculate How Many LeetCode Problems You Should Solve Per Day

Now that you have estimated how many LeetCode problems you should solve in total and how much time you have, you can calculate how many LeetCode problems you should aim to solve per day.

As such, if you want to solve 200 problems for an interview that will be happening in 2 months, you should be solving 150/60 = 2.5 problems per day. Don’t forget that you can unevenly distribute your problems throughout the week by solving more on weekends than you do on weekdays. In this example, you could solve 2 problems each weekday and 4 problems on the weekends to get an average of 2.5 problems per day.

If you have plenty of time and are not worried about specific interviews, a good rule of thumb is to solve 1-2 problems per day, more on the weekends if you desire.

According to a survey done on 519 Reddit users, almost 60% of participants spend less than 1 hour on LeetCode (which corresponds to 1-2 problems) per day, while a little over 20% spend 1-2 hours per day on LeetCode. Similar results can be seen on Blind.

How Many LeetCode Problems Per Day for FAANG (Google, Meta, Microsoft, Amazon, etc.)?

If you are aiming for FAANG companies, you may want to consider taking LeetCode more seriously. After all, the Big-N companies take only the best of the best, and hence they will ask harder questions to weed out the weaker competitors.

You should thus be prepared to solve more questions than the average candidate, and you may need to solve up to 300-400 LeetCode problems while preparing for the interviews. 

There is an actual study on Blind that surveyed more than 200 FAANG engineers about how many LeetCode questions they have solved. For the latest statistics on how many problems people successful in FAANG technical interviews have done, check out this poll on Blind.

How Many LeetCode Questions Exist?

You may also be wondering, how many questions are there on LeetCode in total? Well, the number constantly changes, but as of today, there are 2528 questions on LeetCode. Out of them, there are the following numbers by difficulty level:

  • Easy – 619
  • Medium – 1346
  • Hard – 563

However, LeetCode is constantly adding new problems, so this number changes daily. You can find out the total number of problems currently available by logging in with your LeetCode account and checking the top right side of your dashboard.

man wearing black shirt
Photo by NEXT Academy @ Unsplash

What LeetCode Difficulty Are Most Interview Questions?

Different interviews will ask questions of varying difficulty. How hard the questions are largely depends on the company, the position, and the interviewer.

However, many interviewers tend to ask questions that are mostly easy or medium, according to LeetCode classification. This is due to the fact that the timing is usually constrained, and the applicant is expected to solve a problem within a relatively short timeframe.

Nevertheless, if you are applying to FAANG companies, you may expect to face problems of all difficulties. Often, you will first start with easier questions and then gradually move on to harder ones. You may even encounter a hard question or two during your interview at FAANG.

See also  7 Most Useful Coding Languages to Learn in 2023

What Is the Best LeetCode Strategy?

There are different ways to approach LeetCode, but there are some things you always should (or shouldn’t) be doing. Let’s talk about those a little bit.

First, you want to make sure you know the theory before approaching practice. And let’s make it clear – LeetCode is mostly just for practice.

The two most important topics you want to make sure you fully comprehend are data structures and algorithms. There are different resources for learning these two topics, but they are at the core of all LeetCode and technical interview questions.

In order to learn DS&A, you may want to take a course, buy a book, or browse popular websites such as HackerEarth or GeeksForGeeks. A good idea is to practice each data structure or algorithm you learn right away in LeetCode. That way, you would be better able to solidify these concepts in your mind with practice.

General LeetCode Tips

  • Choose an issue and see it through to its completion – don’t be tempted to switch topics until you finish the task at hand.
  • Use 3:6:1 or 3:5:2 ratio to solve Easy, Medium, and Hard problems, respectively.
  • Don’t try to memorize the problems and their solutions.
  • Focus on the types of questions you have problems with.

Approach to Solving Problems

  1. It is essential to ensure you comprehend the question correctly. To ascertain that your assumptions are correct, contemplate various inputs and outputs.
  2. To hone your verbosity, practice articulating solutions on paper or whiteboard. Visualize yourself explaining the approach to an interviewer in order to fully form it.
  3. When you are ready to write code, be sure that you have a clear understanding of the time complexity and potential for optimization before proceeding. Doing this will allow you to craft an efficient solution that is optimized for success.
  4. Even if you achieved a high mark, take the time to review the discussion of each LeetCode question. There may be even more efficient strategies or knowledge that can be gained from each question answered.
  5. Limit the time you give yourself to solve a problem – no more than 4 hours. If all other attempts have failed, consult hints or look at Leetcode discussions for answers and tips.

Tracking Progress

After your studies, begin documenting all the questions you work on from different sources. We recommend Google Sheets, but feel free to use any tool of your choice. Doing so is highly recommended as it produces a constructive feedback loop and aids in creating an essential motivation-action cycle.

Make sure to take note of:

  • Link to question
  • Topic
  • Difficulty level
  • Time taken for completion
man solving LeetCode problems on a laptop
Photo by Danial Igdery @ Unsplash

Which Programming Language Should I Use for LeetCode?

The language you choose for LeetCode does not necessarily determine your success. In fact, the majority of interviewers will be interested in hearing your thought process more than seeing a specific language. Some candidates prefer to solve LeetCode problems in the same language they use for their current job, while others prefer to switch languages for each problem.

LeetCode lets you write solutions in the following languages:

  • Java
  • C
  • C#
  • C++
  • Python
  • Python3
  • JavaScript
  • Ruby
  • Swift
  • Go
  • Scala
  • Kotlin
  • Rust
  • PHP
  • TypeScript
  • Erlang
  • Racket
  • Elixir
  • Dart

You should do LeetCode problems in the language you are planning to take the interview in, which should generally be the language you are most comfortable coding in and/or the language that is indicated as required in the job description.

Should I Get LeetCode Premium?

There are several useful LeetCode Premium features that you may want to consider when deciding whether to purchase the Premium version.

1. Filtering Questions by Company

This feature lets you filter questions by specific companies, making it easier to focus on the types of questions you will be asked at those companies. This is obviously a great tool for those targeting a specific company, as it gives you insights into the types of questions they may ask.

2. Sorting Questions by Frequency

Sorting LeetCode questions by frequency means seeing the frequency by which these questions appear in actual interviews. Knowing the questions that appear more often can give you an advantage when preparing for the interview.

See also  Top 13 Coding Movies Every Developer Should Watch (with IMDB scores!)

3. 50 Questions for Each Company

This feature unlocks 50 most common questions that have been asked by each company. It’s useful to get an idea of the types of problems the companies are asking and how to approach them.

At the moment, LeetCode Premium costs $35 monthly or $159 yearly. Whether or not it is worth for you to invest in the subscription will depend on how much value the above-mentioned features can provide. If you are targeting specific companies for interviews, this could be a great investment. Ultimately, it’s up to you to decide if the cost is worth it.

closeup photo of eyeglasses in front of LeetCode code
Photo by Kevin Ku @ Unsplash

Other Platforms We Suggest for Practice

LeetCode is by far the most popular platform for coding interviews and can be a great place to start. That said, there are several other platforms you can use to practice for coding interviews:

  • HackerRank: HackerRank offers a wide range of coding challenges and contests at varying levels of difficulty.
  • AlgoExpert: AlgoExpert offers bite-sized video explanations of interview questions; it also features 170 questions spanning 15 categories and 4 difficulty levels.
  • CodeForces: CodeForces is a competitive programming platform, with thousands of problems and competitions to choose from.
  • CodeChef: CodeChef is a platform for competitive programming and coding challenges. It also offers contests and practice problems.

No matter which platform you choose to practice on, the key is to get consistent with your practice and track your progress using logs or by taking notes. This will help you stay motivated and identify areas where you need to improve.

Tips for Your Technical Interview

Finally, we would like to give you a few tips to help you prepare for your technical interview:

  1. Select a language you are most comfortable with and/or one that the job description necessitates.
  2. Always understand the problem first. Ask counter questions like can the array contain negative numbers? Is there a size limit on the array? This is one of the important factors, don’t jump into solving the problem.
  3. Outline your reasoning when working towards an answer. Aim to be vocal and expressive throughout the thought process; take a moment or two to contemplate, but remember that silence isn’t always golden!
  4. Explain time and space complexity before starting coding your solution!
  5. Once you and the interviewer agree that this is the most effective solution to address the challenge, demonstrate it practically by running through a few examples – including those with corner cases. Only after demonstrating your thought process and confirming its efficacy (through time complexity), will you be asked to code. Make sure this becomes part of your regular practice as well so that when faced with any technical problem, you are prepared!
  6. After you write the code as required, take advantage of any additional time to converse about test cases and potential issues with your interviewer.

Conclusion

The exact number of LeetCode problems you should solve per day depends on your current coding experience, how much time you have available, and the goals you want to achieve.

If you’re a beginner, solving just one or two problems a day is probably enough to get started. As your skills improve, consider adding more challenging problems and increasing the difficulty or scope of the problems you’re solving. With time and practice, you’ll find that your coding skills will improve significantly!

No matter what level of experience you have with coding, LeetCode is a great platform to hone your problem-solving skills and increase your understanding of algorithms and data structures. Taking the time to practice your coding every day is essential to becoming a better coder, so start your practice today! Good luck!