/leetcode-basics

General info on best practices for making use of leetcode.

Welcome to Leetcode

Like it or not Leetcode is the defacto measuring stick for your abilities as a programmer. Unfortunately many of us hate and avoid it for years, it doesn't have the best user interface or the most intuitive repl testing system and can feel unhelpful and toxically competative. But once we aclimate to it it becomes one of our best go-to resources when preparing for job interviews, and unless you want a premium account its free!

This document outlines one potential workflow that you may find helpful. You are invited to customize it to suit your own learning style or ignore it completely. Regardless it will give you an overview of the tools leetcode provides and how to make best use of them.


Leetcode History

LeetCode was founded in 2015 to provide resources focused on helping people improve technical programming skills and prepare for job interviews. Their primary service is free access to their language repl and over 2000 questions. The also provide paid services including video walk-throughs of problems and curated lists of problems commonly encountered at different companies.


Suggested Steps for Use

1. Find a List of Questions

It's easy enough to find free curated lists of problems for job interview practice outside the LeetCode platform. In most cases coding problems that you find on such lists can be found on LeetCode. LeetCode also provides comprehensive lists of company-specific interview problems but it is part of their paid service.

2. Try a Problem Cold

It's always a good idea to try LeetCode problems on your own before studying other people's approaches but only up to a point. Pick a reasonable time cutoff and set an alarm so you stick to it. People regularly spend hours toiling away on LeetCode problems only to find later that the optimal solution is something that only a mathmatician or computer scientist would have been able to come across on their own. Writing out a plan in comments is often essential, and copying your notes and different attempts in a github repo is also a good idea.

3. Study Solutions