Open Chapter Overview

Forward

Leetcode Problems to Practice

Next Module

You’ve probably heard a lot about LeetCode. LeetCode is a website that offers thousands of programming problems for free (mostly), and it also has courses, forums, and mock interviews. The site offers a premium subscription for $35/month, but we don’t think it’s necessary or worthwhile (depending on your circumstances, obviously). 

LeetCode is where you should do the majority of your learning and practice, because it offers tons of unique questions, provides searchable lists based on topic, has an easy IDE interface, and includes the option to look at other people’s solutions. You should make an account to track your progress.

Leetcode Problem Levels

Easy

Simple, quick problems that will give you a starting foundation for the concepts you need to know. These should take about 5-10 minutes each (once you become familiar with the concepts). 

Medium

More challenging problems that might include complicated data structures and will require more code. These should be the bulk of the problems you do once you’re a more experienced Leetcoder. They should take about 15-30 minutes each, and will often involve debugging and hidden edge cases.

Hard

Very tough problems that require advanced knowledge of a certain Data Structure or Algorithm. Very few people can solve these problems without lots of practice or having previously seen the problem. If you want to venture into Hard questions, don’t waste much time trying to solve the problem yourself. Instead, once you’re stuck, look at other peoples’ solutions and try to understand how they solved the problem. Then, go back a few days later and see if you can remember and replicate the working code.

How to Shape Your Leetcode Practice

During technical screens and coding interviews, you’ll see about 35% Easy questions, 60% Medium questions, and 5% Hard questions. Your practice regimen should follow that same ratio.

The Blind 75 is a good list of Leetcode problems that covers all of the main things you need to know and spans Easy, Medium, and Hard problems. If you can consistently do all of them, you should be able to crush every interview and technical screen that you face. There’s a website that helps you solve and track your progress on the Blind 75, and also allows you to take notes (on the solution, things you struggle with, etc.). You can definitely skip over some of the Hard problems (or watch the solution and then code it yourself) because they are above the level that you’ll see during most interviews. However, it’s alwys good to get more practice, so if you have the time, do them!