1

It has been a while since the new book was published, and we have received feedback from readers. Today we will answer some common questions from readers and some spoilers for the content of "The Road to Algorithm Clearance".

In fact, many readers have read it after the publication and gave a very high-quality impression. Below I will select a few high-quality messages for you.

Reader's Message

  • Chapter 6 Dichotomy , although dichotomy is a more classic algorithm, it has always been a headache for most people. Every time I use LeetCode, I often don't see whether to use dichotomy, or know that dichotomy should be used, but it took a long time to debug the boundary problem of dichotomy. By studying this chapter, my troubles have been solved to a great extent, and I have a full understanding of the dichotomy. It starts with the classic problem of dichotomy, and then goes to the variant problem of dichotomy. It introduces in detail when to use the dichotomy and the boundary issues that need to be paid attention to in the process of writing the dichotomy. If you are also troubled by the dichotomy, I highly recommend you to read it. I believe you can learn the essence of the dichotomy from this chapter.
  • Chapter 7 Bit Operation , compared with many classic algorithms, the universality of bit operation algorithms is not high, and many programmers are not familiar with it. This chapter is written by an audio and video architect. In the processing, there is a lot of processing of binary data. Hearing what he said, every time I see a bit operation problem, I have a cordial feeling, and people can't help but want to take a look at his insights. People are accustomed to using decimal calculation rules, but if you can think of binary, you can binary the data, and then use bit operations for processing, it will definitely open up new ideas.
  • I like Chapter 8 Design very much, which gave me a deeper understanding of the design of advanced data structures. From the beginning of my career, in the interviews I experienced, algorithms (algos) and system design (system design) were basically two compulsory directions, especially when facing companies in North America and Europe. And in the past two years, it has been discovered that domestic giants have also begun to use algorithmic questions and system design questions as the content of interviews. For those of us who are to be the "King of the Book", this is the knowledge that must be mastered. This chapter explains several common high-level data structures from the shallower to the deeper. Personally, I especially like the explanation of LRU, LFU and jump tables, which will let you understand the reasons and trade-offs of the design step by step. Each of the knowledge points can be found in the interview questions of the algorithm, and can also be used as a basic test point for system design. It is also worth mentioning that the reasoning of time complexity in this chapter is very rigorous, and papers in related fields are given in the extended part. All in all, it is worth seeing.
  • double pointer and sliding window are two tags in LeetCode, but in essence, the sliding window can be regarded as a special application of double pointer. In essence, double pointers can be regarded as two indexes on arrays, linked lists, and strings. According to this idea, there can even be multiple indexes. The sliding window uses two indexes to complete a series of operations in the two indexes. Considering whether the size of the window is fixed, the starting position of the window, etc., many optimizations can be made for this type of problem. The two sections of this book also give different ideas for solving problems. It is highly recommended to study the topics inside.
  • Talk about the most difficult dynamic programming , this book not only has special chapters to take you step-by-step learning, but also through games, games and stock series topics to help you consolidate your foundation and learn by analogy. I have been ignorant of the similarities, differences and correlations between dynamic programming and several other algorithm ideas, and I have obtained many answers after reading this book.
  • In brushing leetcode, there divide-and-conquer method as the tag, and the summation is mixed with dp, dfs and other algorithmic knowledge, which increases the difficulty of understanding. I really like this book's explanation of divide and conquer, especially at the beginning it summarized most of the divide and conquer questions that may be faced in the written examination and interview, which saved me a lot of energy. For example, for the topic of "merging k sorted lists", step by step from the brute force method to the optimal solution, the learning slope becomes gentler rather than the steep increase in difficulty. It is highly recommended.
  • Greedy method is the algorithm that puzzles me the most. The solution of each problem is quite different, and it is difficult to find a common thing.
  • The fifteenth chapter explains many common greedy strategies, such as problem dismantling, restriction conditions, etc. These greedy strategies have given me a clearer idea of facing greedy problems and more choices of directions. In addition, there is a summary of problem-solving skills at the end of the chapter. These skills are more refined and inspired me how to improve my ability to solve greedy problems in the future. It is very considerate and I recommend everyone to read this chapter carefully.
  • Compared with other algorithms, backtracking method is relatively fixed, but how to understand backtracking method and quickly applying backtracking method is a big difficulty. The sixteenth chapter begins with a detailed introduction to the problem-solving template of the backtracking method, and applying it to a classic combination problem, giving me a very intuitive understanding of the backtracking method. At the same time, the following article also explains the application topics of backtracking in different backgrounds. While improving the ability to apply templates, I learnt backtracking skills in various scenarios. I believe that you can apply backtracking templates more flexibly in the future, and I recommend you to read it.
  • eighteenth chapter of is one of my favorite chapters. It summarizes common problem-solving templates and helps me quickly learn various routines and deepen my understanding of problem-solving templates. These problem-solving templates can be used as review materials to rearrange the ideas of routine questions before the interview or written test. At the same time, the problem-solving template comes from the content of the previous chapter. I personally think that the code can be covered. Try to write the code according to the routine background to check whether the previous content is mastered.

Thank you very much for your recognition, and I hope you all get your satisfactory offer!

Finally, I will answer a few questions that interest readers.

1. Do I need to look in order?

No need at all. In fact, I also highly recommend everyone to jump and watch. Give priority to what you are learning.

For example, if you are learning dynamic programming, you can directly watch the dynamic programming chapter, the stock chapter and the game chapter. For example, if you don't understand the complexity analysis, you can read the first chapter first.

I made a "mind map" to give you a quick preview of the main content of the book. If you really don’t know the reading order, it is recommended to use the order in this mind map to read from top to bottom.

2. I have read your Github, do I still need this book?

No matter if you read my Github (Address: https://github.com/azl397985856/leetcode) or participated in my "91 Tianxue Algorithm" activity. I strongly recommend that you buy one.

There are three reasons:

  1. Although there are still so many knowledge points, there are almost no new knowledge points. But on the same subject, the book’s narration and style are completely different. The content of the book is more rigorous, and the learning effect is better with the Github and "91 Tianxue Algorithm" handouts.

For example, in the dichotomy chapter of the book "153. Finding the smallest value in a rotating sorted array", this question is a very simple dichotomy. However, two methods are used to prove the complexity.

This rigorous attitude runs through the entire book. Generally speaking, I will also give an analysis of the complicated time complexity, instead of directly posting an answer to everyone. Although it may not give multiple proof methods like this dichotomy, it also strives to be complete and accurate.

In short, this book is largely Github and other algorithms as well as my information supplement , the specific content needs we can buy the book after looking through their own experience to it.

  1. Many topics have not been disclosed to Github and other materials because I explained them in the book. So if you want to see the solutions to these topics, you have to look through the book.
  2. The code of the book is relatively complete. Many students feedback that they want to increase the xx language, but they really don't have much energy to increase the language. But I added three mainstream languages to all the topics of the book , and some topics also provide JS versions.

Finally, it is strongly recommended that everyone study with "Algorithm Clearance Road", especially those students who participated in "91 Tianxue Algorithm".

Oh, right! "91 Tianxue Algorithm" will draw 3 people from those who insist on clocking in every day to get our "Algorithm Clearance Road" for free!

"How to participate in the 91 Tianxue Algorithm (Phase 5)? 》 https://lucifer.ren/blog/2021/08/21/91algo-5/

3. Is there a trial version?

some. https://leetcode-solution.cn/book-intro

here has:

  • Part of the trial reading of the complexity analysis provided by amazon
  • Part of the trial reading of the design chapter provided by Xifa.

Everyone, hurry up and feel the comprehensiveness and rigor of the book~ (_^▽^_)

4. Is there any book purchase activity?

West France intends to add an event.

The rule is Anyone who purchases "The Road to Algorithm Clearance" during the event and gives me a screenshot. After verification, they can participate in the current issue of "91 .

Note that you can only participate in the current issue of the book purchase time for free. For example, if you purchased the book after the fifth issue and before the end of the sixth issue, you can only participate in the sixth issue for free.

However, since this issue has already started, now that this event will damage some of the friends who have participated in the 91 event and bought my book, so Xifa intends to start this event again in the next issue.

When is the next issue? Around winter (December)

Errata

First of all, some readers enthusiastically responded to me typographical errors. For example, the code of the monotonous stack of the complexity analysis part is wrong, and the missing part of the code should be a printing problem. There was no such problem when verifying the word before. You can visit the supporting code on the official website to check the correct code.

Official website address: https://leetcode-solution.cn/book

If you find other problems, you can also report to me, or directly exchange feedback from the readers.


lucifer
5.3k 声望4.6k 粉丝