What sounds like an “algorithm” is not hard to learn. This is about algorithms running on a computer, and just as the algorithms you run on a computer affect your daily life, so do the algorithms running on a computer. We can use the simple way of searching information by computer to solve various sorting problems, and use directed acyclic graph and shortest path method to solve basic problems.

Chapter 1 What are Algorithms and why should we care about them

Chapter 2 how to describe and evaluate computer algorithms

Chapter 3 sorting algorithm and search algorithm

Chapter 4 The lower bound of sorting algorithms and how to overcome the lower bound


Chapter 5 directed acyclic graphs

Chapter 6 Shortest paths

Chapter 7 String algorithms

Chapter 8 fundamentals of cryptography

Chapter 9 data compression

Chapter 10 Difficult? The problem

Teacher Zuo Chengyun explained bytedance’s two latest interview questions in three hours:

2. A string of length M is given, and a string of length N is given. STR asks whether a continuous string of length M can be found in STR. Make the substring consist of exactly m characters of AIM, in whatever order, and return the starting position of any substring that meets the condition. If no substring is found, -1 is returned