# Summary * [Introduction](README.md) * I. Dynamic Programming * [Dynamic Programming in Details](dynamic_programming/AnalysisOfDynamicProgramming.md) * [Classic DP: Edit Distance](dynamic_programming/EditDistance.md) * [Classic DP: Super Egg](dynamic_programming/ThrowingEggsinHighBuildings.md) * [Classic DP: Super Egg(Advanced Solution)](dynamic_programming/SuperEggDropAdvanced.md) * [Class DP: Longest Common Subsequence](dynamic_programming/LongestCommonSubsequence.md) * [Classis DP: Game Problems](dynamic_programming/GameProblemsInDynamicProgramming.md) * [Regular Expression](dynamic_programming/RegularExpression.md) * [The Strategies of Subsequence Problem](dynamic_programming/StrategiesForSubsequenceProblem.md) * [Greedy: Interval Scheduling](dynamic_programming/IntervalScheduling.md) * [4 Keys Keyboard](dynamic_programming/FourKeysKeyboard.md) * [What is DP Optimal Substructure](dynamic_programming/OptimalSubstructure.md) * [Longest Increasing Subsequence](dynamic_programming/LongestIncreasingSubsequence.md) * [KMP Algorithm In Detail](dynamic_programming/KMPCharacterMatchingAlgorithmInDynamicProgramming.md) * [House Robber Problems](dynamic_programming/HouseRobber.md) * [Stock Buy and Sell Problems](dynamic_programming/BestTimeToBuyAndSellStock.md) * II. Data Structure * [Binary Heap and Priority Queue](data_structure/binary_heap_implements_priority_queues.md) * [LRU Cache Strategy in Detail](interview/LRU_algorithm.md) * [Collections of Binary Search Operations](data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md) * [Special Data Structure: Monotonic Stack](data_structure/MonotonicStack.md) * [Special Data Structure: Monotonic Stack](data_structure/Monotonic_queue.md) * [Design Twitter](data_structure/design_Twitter.md) * [Reverse Part of Linked List via Recursion](data_structure/reverse_part_of_a_linked_list_via_recursion.md) * [What's the Best Algo Book](think_like_computer/why_i_recommend_algs4.md) * [Queue Implement Stack/Stack implement Queue](data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md) * [Framework for learning data structures and algorithms](think_like_computer/Framework%20and%20thoughts%20about%20learning%20data%20structure%20and%20algorithm.md) * III. Algorithmic thinking * [My Way to Learn Algorithm](think_like_computer/ThewaytoAlgorithmlearning.md) * [The Framework for Backtracking Algorithm](think_like_computer/DetailsaboutBacktracking.md) * [Binary Search in Detail](think_like_computer/DetailedBinarySearch.md) * [The Tech of Double Pointer](think_like_computer/double_pointer.md) * [The Key Concept of TwoSum Problems](think_like_computer/The_key_to_resolving_TwoSum_problems.md) * [Divide Complicated Problem: Implement a Calculator](data_structure/Implementing_the_functions_of_a_calculator.md) * [Prefix Sum Skill](think_like_computer/prefix_sum.md) * [FloodFill Algorithm in Detail](think_like_computer/flood_fill.md) * [Interval Scheduling: Interval Merging](think_like_computer/IntervalMerging.md) * [Interval Scheduling: Intersections of Intervals](think_like_computer/IntervalIntersection.md) * [String Multiplication](think_like_computer/string_multiplication.md) * [Pancake Soring Algorithm](think_like_computer/PancakesSorting.md) * [Sliding Window Algorithm](think_like_computer/SlidingWindowTechnique.md) * [Some Useful Bit Manipulations](think_like_computer/CommonBitManipulation.md) * [Russian Doll Envelopes Problem](think_like_computer/RussianDollEnvelopes.md) * [Recursion In Detail](data_structure/RecursionInDetail.md) * [Backtracking Solve Subset/Permutation/Combination](interview/Subset_Permutation_Combination.md) * [Several counter-intuitive Probability Problems](think_like_computer/several_counter_intuitive_probability_problems.md) * [Shuffle Algorithm](think_like_computer/Shuffle_Algorithm.md) * IV. High Frequency Interview Problem * [How to Implement LRU Cache](interview/LRU_algorithm.md) * [How to Find Prime Number Efficiently](interview/Print_PrimeNumbers.md) * [How to Calculate Minimium Edit Distance](dynamic_programming/EditDistance.md) * [How to Solve Drop Water Problem](interview/Trapping_Rain_Water.md) * [How to Remove Duplicate From Sorted Sequence](interview/RemoveDuplicatesfromSortedArray.md) * [How to Find Longest Palindromic Substring](interview/TheLongestPalindromicSubstring.md) * [How to Reverse Linked List in K Group](interview/reverse-nodes-in-k-group.md) * [How to Check the Validation of Parenthesis](interview/valid-parentheses.md) * [How to Find Missing Element](interview/missing_elements.md) * [How to Pick Elements From a Arbitrary Sequence](interview/ReservoirSampling.md) * [How to use Binary Search](interview/UsingBinarySearchAlgorithm.md) * [How to Scheduling Seats](interview/Seatscheduling.md) * [Union-Find Algorithm in Detail](think_like_computer/Union-find-Explanation.md) * [Union-Find Application](think_like_computer/Union-Find-Application.md) * [Find Subsequence With Binary Search](interview/findSebesquenceWithBinarySearch.md) * [Problems can be solved by one line](interview/one-line-code-puzzles.md) * [How to Find Duplicate and Missing Element](interview/Find-Duplicate-and-Missing-Element.md) * [How to Check Palindromic LinkedList](interview/check_palindromic_linkedlist.md) * V. Common Knowledge * [Difference Between Process and Thread in Linux](common_knowledge/linuxProcess.md) * [You Must Know About Linux Shell](common_knowledge/linuxshell.md) * [You Must Know About Cookie and Session](common_knowledge/SessionAndCookie.md) * [Cryptology Algorithm](common_knowledge/Cryptology.md) * [Some Good Online Pratice Platforms](common_knowledge/OnlinePraticePlatform.md)