This repository contains more than 60 original articles, all based on LeetCode questions, covering all question types and techniques, and must be learned from one example, easy to understand, not simply a pile of code, with a directory at the end.
Let me complain a little first. Practice questions, practice questions, cultivate thinking, the purpose of this repository is to convey this algorithmic thinking. If I only write a repository containing LeetCode question codes, what's the use? There is no explanation of ideas, no thinking framework, at most you can write a time complexity, which can be seen at a glance.
It is easy to just want the answer. There are all kinds of answers in the question comment area, and they often show off the solution with one line of python code, and so many people like it. The question is, when you do algorithm questions, are you going to learn the tricks of programming languages, or to learn algorithmic thinking? Does your happiness come from copying someone else's line of code to pass the test, completing the question +1, or from writing the solution yourself through logical reasoning and algorithm framework without looking at the answer?
There are always big guys on the Internet who criticize me, saying that what I write is too basic, or that you can't learn algorithms with the help of framework thinking. I can only say that everyone brushes algorithms to find a job to make a living, not to participate in competitions. I have also worked hard all the way. What we want is to be clear and understandable, not to be mysterious and meaningless.
If you don't want to make it easy to understand, do you have to come up and praise "Introduction to Algorithms" to the sky, and then persuade others to quit with admiration?
If you do anything more, you will find routines. I have summarized various algorithm routine frameworks, and I believe it can help others avoid detours. I, a kid who relies purely on self-study, spent a year practicing questions and summarizing, and wrote an algorithm cheat sheet by myself. There is a directory at the back, so I won’t talk nonsense here.
1. First give this warehouse a star to satisfy my vanity, the quality of the article is definitely worth a star. I am still continuing to create, give me some motivation to continue writing, thank you.
2. It is recommended to bookmark my online website. There is a corresponding link to the Likou question at the beginning of each article. You can practice questions while reading the article. A total of 500 questions can be practiced by me:
2024 latest address: https://labuladong.online/algo/
GitHub Pages address: https://labuladong.online/algo/
Gitee Pages address: https://labuladong.gitee.io/algo/
My algorithm website and all supporting plug-ins integrate an algorithm visualization tool that can visualize data structures and recursive processes, greatly reducing the difficulty of understanding algorithms. Almost every solution code for each question has a corresponding visualization panel, see the introduction below for details.
Content is of course the core part of my series of algorithm tutorials. My algorithm tutorials are all published on the website labuladong.online. I believe you will spend a lot of learning time here in the future, rather than just adding it to your favorites~
Main function: The Chrome plug-in can quickly view my "solutions" or "ideas" on the Chinese version of LeetCode or the English version of LeetCode, and adds the reference relationship between the questions and algorithm skills. It can be linked with my website/public account/course to provide my readers with the smoothest practice experience. See the directory below for the installation and use manual.
Main function: It is basically the same as the Chrome plugin. Readers who are used to doing questions on vscode can use this plugin. For installation and use manual, see the directory below.
Main function: It is basically the same as the Chrome plugin. Readers who are used to doing questions on Jetbrains' IDE (PyCharm/Intellij/Goland, etc.) can use this plugin. For installation and use manual, see the directory below.
Finally, I wish you all a happy study and free travel in the sea of questions!
- Supporting Chrome question-answering plugin
- Supporting vscode question-answering plugin
- Supporting JetBrains question-answering plugin
- Instructions for using the algorithm visualization panel
- Paid membership for this site
- Key points and pitfalls of algorithm practice
- Learning plan for beginners
- Quick learning plan
- Practice/review methods for exercise chapters
- Algorithm visualization quick reference page
- Introduction to this chapter
- C++ language basics
- Java language basics
- Golang language basics
- Python language basics
- JavaScript language basics
- LeetCode/LeetCode problem solving tips
- Programming language practice
-
[Hash table core principle](https://labuladong.online/algo/data-structure-basic/h