The Leetcode Walker Series are a set of tutorials in both video and text format founded by BaseScript’s manager, Shadi El-Fares. See his Youtube channel for videos of his own. Contributions to this series found on this website are created by various developers at BaseScript.
What is Leetcode?
LeetCode is an online platform that offers coding challenges to help users improve their programming skills and prepare for technical interviews. It is widely used by developers, students, and professionals to practice problem-solving, learn new algorithms, and gain hands-on experience with different programming languages.
LeetCode classifies problems into three difficulty levels: Easy, Medium, and Hard. Easy problems are suitable for beginners, focusing on basic concepts and simple tasks. Medium problems require more advanced problem-solving and understanding of algorithms and data structures. Hard problems involve complex logic and optimization challenges, often requiring a deep grasp of advanced techniques. Don’t concern yourself too much with the naming convention for these problems, if you find an easy problem to be incredibly difficult, you share the same experience with countless others (including myself). Leetcode is notorious for only becoming simpler after vigorous practice and repetition, nearly becoming an element of memorization to an extent.
LeetCode problems can also be categorized into key computer science topics such as Arrays, Strings, Dynamic Programming, Trees, and Graphs . These topics represent the fundamental building blocks of algorithms and data structures, each focusing on specific problem-solving techniques. Arrays and Strings typically involve operations on collections of data, while Dynamic Programming focuses on optimizing problems by breaking them into simpler sub-problems. Trees and Graphs explore hierarchical and networked data structures, often used in more complex and abstract scenarios.
Format
This series will feature the use of different languages to solve problems. Leetcode can be solved using programming language, typically done using the programmer’s language of choice. For this reason, there may be no consistent theme as to which language will be primarily used throughout this series.
The main purpose of this section is to tackle the Leetcode Blind 75, a curated list of 75 Leetcode problems that are commonly asked in technical interviews. The list is widely regarded as one of the best problem sets to prepare for coding interviews, as it covers a broad range of topics that interviewers often test. For more on the Blind 75, see here.