This article was originally intended to be added to the appendix of my new book, the road of algorithmic customs clearance. However, due to the lack of official trial, it had to give up. Send this part here for your reference.
Introduction and purchase of the road to algorithmic customs clearance can be accessed:https://leetcode-solution.cn/…
How to use leetcode website
Leetcode’s official website contains the algorithm problems of many Internet companies, which was once known as the artifact of problem brushing. Here we will introduce how to use the leetcode website.
Because leetcode itself is also after continuous iteration, some contents of this article may no longer be applicable in the future.
Taking likuo international station as an example, its official website gives four categories: algorithms, database, shell and concurrency, which represent algorithm problems, database problems, shell and concurrency problems respectively. The first is the algorithm problems we need to brush.
Concurrency is a new module added in 2019.
After clicking algorithms, we can see a list of topics. Each topic has a unique serial number. At present, leetcode has more than 1000 questions and has been continuously updated. Some of them are locked and can be viewed by members.
The following acceptance indicates the accuracy of submission, and difficulty indicates the difficulty. There are three levels of difficulty: easy, medium and hard.
- Easy usually doesn’t need much thinking and complicated details. It is especially suitable for novices or warm-up.
- There will be some difficulties at the medium level. Generally, classical algorithms will be involved, which requires some thinking.
- Hard level is the most difficult. Sometimes it is the difficulty of the algorithm itself. Sometimes you need to consider all kinds of details.
Here is a tip to share with you. To measure whether a topic is difficult or not, in addition to the difficulty, you can also look at the acceptance rate. The lower the acceptance rate, the more difficult the topic is. This indicator is sometimes more reliable than the difficulty.
You can filter and sort the questions.
If we only want to find a certain type of questions or a company’s question bank, we can filter them through tags or company.
In addition, when we are doing a problem, we think we want to do another similar problem. We can click show similar problems or tags below the problem description to find similar problems.
Each topic has its own discussions area. Here, many people put their ideas and codes on it. You can post questions or reply to others. There are many great gods in it, and the quality of problem solutions is very high. If you really don’t have ideas or want to see if there are better ideas, you can visit it. Generally speaking, I suggest you give priority to the ones with the most comments or votes.
Clicking on a topic will jump to the specific topic details page. You can switch and select the programming language you need in the code area on the right.
After the code is written, don’t rush to submit it. First test and run it (run code button). You can write a few more tests and run hard. If there is no problem, submit again. You should know that the wrong submission during the competition takes more time.
After the submission is passed, you can click more details to view the detailed operation result information.
Next to each question, you can find your own submission of the question. Here you can see all your past submissions. Click accepted or wrong answer to view your past submitted code, including what the code is, running time, time distribution map submitted by all users, etc.
The above is the main function of leetcode. I hope this section can let you know something about leetcode website and brush questions faster.
Brush question tool
The so-called “if you want to do well, you must first sharpen your tools”, and then bring you some gadgets to improve the efficiency of problem brushing.
Buckle code debugger
The force button code debugger is a simple and easy-to-use code debugging tool. It can check the operation of the code at any time and selectively run the code so that you can debug and debug.
The force buckle code debugger supports the following features:
- Supports unlimited addition of breakpoints and single step debugging
- One click monitor expression, dynamically track variables and locate errors in time
The “force button code debugger” is in the internal test stage, and the specific functions may be adjusted from time to time. Please refer to the final release version. The code debugger currently supports five languages, including C + +, Java, python, python 3 and C, and is constantly updated.
It is worth noting that this is a function that can only be used by members.
Leetcode for vscode
This is a plug-in that allows you to select topics, write code, test and submit force deduction topics in the vscode editor. The main feature is that you can make use of all the advantages of your own editor, including but not limited to editor topics, code intelligent tips, code fragments and debugging tools. In other words, you can implement most of the functions of the force code debugger mentioned above through vscode and its extensions.
The disadvantage is that some functions don’t have a good experience. For example, the error prompt is not obvious, and they are often submitted by mistake. However, what makes me most uncomfortable is the custom test cases, which are obviously not as good as the official ones.
You can search leetcode in the vscode plug-in store for download and installation.
Problem solving template
In order to facilitate you to write well formatted problem solutions, the plug-in now has built-in problem solution template function. At present, there is only one set of templates. This set of templates isProblem solving template I often use。
After installing our plug-in (version requires V0.8.0 and above), open the Chinese version of Li Kou and you will find the following buttons.
After clicking, it will automatically guide you to a new page,
Of this pageProblem solving language，Title addressandTitleThe information is automatically populated.
You can quickly complete the insertion of time complexity and space complexity. The complexity has been arranged according to the order of performance. Click to insert.
In addition, we provide several common formulas for you to copy and use quickly. In addition to formulas, other contents can be viewed in the preview area on the right.
After writing, you can only click Copy to copy it to other places for persistent storage. Because we don’t do persistent storage, soPage refresh content will disappear。
Finally, I wish everyone to write a beautiful solution!
Data structure visualization
You can use canvas to draw various data structures freely. It is very useful to write problem solutions or help understand problems.
We provide many built-in templates for you to get started quickly.
If you are not satisfied with the built-in template, you can also save your own template for next use.
How to learn the algorithm? It is recommended to follow the topic. How to learn a specific topic? Here is a learning route to help you. This function aims to classify the topics in a topic. The essence of the topic is a division of the topic, and the learning route is divided again based on the topic.
Can your code time out? Complexity analysis helps you.
Copy all built-in test cases with one click
The manual copying process is omitted, and the efficiency is doubled!
Provides a large number of repeatedly validated templates. The function of the template is to write quickly after you understand the problem, and reduce the probability of error. Even if there is an error, it is easy to debug.
After clicking, it will look like this:
The bottom console will disappear and appear when you move the mouse over again or exit Zen mode.
Check the solution
When you are on any non topic detail page or the topic detail page I have not included, I will list all the problem solutions I have summarized at present.
In fact, I have solved some classic problems, so the number of this problem is not very large. At present, there are 173 problems. In addition, sometimes I write a topic directly without writing a solution to each topic separately, so the number is much more than 173.
When you go to a topic detail page where I wrote the solution, you can officially use my plug-in. It can:
- Give the pre knowledge of this topic. In other wordsWhat do I need to master before I can work out this problem。
- The key point of this topic.
- Which companies have this problem.
- I really can’t. show me the solution. OK, meet you.
- I won’t read the solution. Just show me code. OK, meet you.
- According to the company, find the problem. Interview assault essential
- More company information. Continuously improve the company information of the topic. This process needs your help. You can send me the questions you encounter during the interview (with company and position information), and I can provide consulting services free of charge.
- Job information.
- Visual debugging. Visualize what your code allows.
- Make review plan automatically.
- A I intelligent prompt. That is, the new prompt can also infer the possible solution according to the topic information.
If necessary, go to my official account, “Li Kaga”, and reply to the plugin.
This is a browser extension tool to help you write and draw. Many times, we need to calculate on paper to verify our ideas. This tool can be used at this time.
This tool provides the visualization of a variety of common data structures, which is convenient for everyone to write quickly. At present, the supported data formats are: array, linked list and binary tree.
This is a vscode plug-in that supports visual debugging. Compared with our usual debug, it can help us visualize the data structure in memory. For example, arrays, trees, graphs, etc. can be competent. Because it is not tailor-made for buckle, in fact, it has many other uses, such as visual chart, such as broken line chart. Its function is very powerful. You can even customize your own data structure based on it.
You can search leetcode in the vscode plug-in store for download and installation.
These five tools, except debug visualizer, are all customized for Li Kou.
The functions of each tool are different, and you can also use them together. in general:
- If you want to write force buckle in the editor, the leetcode editor plug-in is a good choice. With debug visualizer, you can achieve a silky and supple feeling.
- If you want to write and draw in the process of problem-solving and think repeatedly, it is recommended to use leetboard.
- If you want to see the company information and solution of the topic, it is recommended to use the leetcode cheat I wrote.
- If you don’t want to use a local editor and follow a bunch of plug-ins, you just want to use the browser to complete it, then the code debugger is definitely the best choice.
In addition, some websites can visualize the execution process of the algorithm, which is particularly important for algorithm beginners,algorithm-visualizerIs such a website, which contains almost all the common algorithms, I believe it can meet you.