Foreword:
Recently, many veterans have left messages in the background saying that they want to enter a large factory, but the algorithm is not good. Recently, I have compiled a record of writing questions. This record of writing questions has also allowed me to enter my favorite factory. Now open to share with everyone. I hope to be helpful.
Any algorithmic problem, just like writing a essay, has some templates that can be applied. For example, DP (Dynamic Programming), which is often tested in interviews, is difficult to think about some key points. For example, if you can write a dynamic transfer equation, this question can basically be AC.
Brush entire title Record content, including twin needle, dynamic programming, binary search, greedy algorithm, depth-first search string, recursive, the dictionary tree, sorting, lists and other featured content. The pictures and texts are accompanied by the source code of answering questions.
Click here to go directly to the data acquisition channel.
The first part of the must-read series:
- Guide to learning algorithms and brushing questions
- What books to read about data structures and algorithms
- Dynamic programming problem solving routine framework
- Dynamic planning answers
- Dynamic planning answers
- Backtracking algorithm problem solving routine framework
- Binary search problem-solving routine framework
- Sliding window problem solving routine framework
- Summary of double pointer skills
- BFS algorithm routine framework
- What are Linux processes, threads, and file descriptors
- Git/SQL/Regular Expression Online Practice Platform
The second part of the dynamic programming series:
- Dynamic programming design: the longest increasing subsequence
- Classic dynamic programming: 0-1 knapsack problem
- Classic dynamic programming: complete knapsack problem
- Classic dynamic programming: subset knapsack problem
- Classic dynamic programming: edit distance
- Classic dynamic planning: throwing eggs in high buildings
- Classic dynamic planning: throwing eggs in high buildings (advanced)
- Classical dynamic programming: the longest common subsequence
- Dynamic programming sub-sequence problem solving template
- The Game Problem of Dynamic Programming
- Regular expression of dynamic programming
- Dynamic programming four-key keyboard
- KMP character matching algorithm for dynamic programming
- Interval scheduling problem of greedy algorithm
- The issue of LeetCode stock trading
- The issue of LeetCode stock trading
The third part of the data structure series
- The road to algorithm learning
- Detailed binary heap implementation priority queue
- Detailed LRU algorithm
- Detailed LRU algorithm
- Collection of Binary Search Tree Operations
- How to calculate the number of nodes in a complete binary tree
- Special data structure: monotonic stack
- Special data structure: monotonic queue
- Design Twitter
- Recursively reverse part of a linked list
- Queue Implementation Stack|Stack Implementation Queue
The fourth part of the algorithm thinking series:
- Backtracking algorithm clique annihilation subset, permutation, and combination problems
- Best Practice of Backtracking Algorithm: Solving Sudoku
- Best Practice of Backtracking Algorithm: Parenthesis Generation
- Sliding window technique
- The core idea of the twoSum problem
- Commonly used bit operations
- Dismantling complex problems: implementing a calculator
- Biscuits sort
- Prefixes and tricks
- String multiplication
- Detailed explanation and application of FloodFill algorithm
- Interval merging problem of interval scheduling
- Interval Intersection Problem of Interval Scheduling
- Envelope nesting problem
- Several counter-intuitive probability problems
- Shuffle algorithm
- Recursion in detail
Part 5 High Frequency Interview Series
- How to efficiently find prime numbers
- How to efficiently perform modular exponentiation
- How to use binary search algorithm
- How to efficiently solve the problem of receiving rainwater
- How to remove duplicate elements of an ordered array
- How to find the longest palindrome substring
- How to use greedy thinking to play jumping games
- How to reverse a set of k lists
- How to determine the legality of parentheses
- How to find missing elements
- How to find missing and duplicate elements at the same time
- How to determine the palindrome linked list
- How to randomly sample elements in an infinite sequence
- How to schedule candidates' seats
- Detailed Union-Find algorithm
- Union-Find algorithm application
- Algorithmic problems that can be solved in one line of code
- Binary search for efficient decision subsequence
Part VI Computer Technology:
- What you must know about the Linux shell
- Practical tips for Linux shell
- Understand session and cookie in one article
- The past and present of encryption algorithms
At present, the above content has been packaged into a complete e-book, just click here to get it .
In addition, I also compiled a set of 6000-page Java learning manuals, as well as a collection of four must-read four artifacts for Java people, and shared that Zhihu has already 30,000 likes!
The content of the entire package focuses on Java technology, including Spring, Spring Boot/Cloud, Dubbo, JVM, collections, multi-threading, JPA, MyBatis, MySQL, big data, Nginx, Git, Docker, GitHub, Servlet, JavaWeb, IDEA, Redis, Algorithms, interview questions and other related content. Pictures and texts, with source code, and a wave of e-books. The content includes but is not limited to:
- JavaWeb related (with answers)
- Selected interview questions (with answers)
- Spring Family Bucket (with answers)
- Linux related (with answers)
- Spring Boot tutorial and actual combat
- MyBatis framework (with answers)
- MySQL (with answers)
- Nginx (with answers)
- Git (with answers)
- GitHub (with answers)
- IDEA tutorial & actual combat (with answers)
- Java basics: multithreading, collections, JVM, etc. (with answers)
- DeBug techniques (with answers)
- Dubbo (with answers)
- Redis (with answers)
- . . .