Aim to solve about 150 easy problems in total covering all topics recommended above before moving on to medium ones. We know too many people who rushed to solve medium and hard problems and gave up early.
Start with 5-10 problems a week and build ideally a daily or nearly daily habit before moving to a higher number of problems.
Please note some problems marked as “easy” are actually quite hard and some of them may take you hours if you are a beginner and that’s ok. Lots of successful engineers had the same challenge.
Google and Facebook will most often ask “medium” questions and rarely “hard” questions. Many other companies are usually a bit easier.
Practice drawing out graphs and trees on a piece of paper, whiteboard, and most important code editor. You will need this to explain your solutions during the interviews.
Aim to solve 300 before applying to Google. (If you solve 50 you can already contact complete an eligibility check on outtalent.com and we will recommend the next steps to you if you are eligible.)
Solving each problem
Try estimating the time complexity of every solution.
After you submit a successful solution check some examples of the solutions of other people on the Discussions page.
If you didn’t get to the optimal solution and find a better one in the LeetCode Solution section, don’t just memorize, but try to think why you couldn’t come up with it yourself and how you can come up with it yourself.
We recommend solving the same problem in multiple ways rather than immediately moving on to the next problem.