# Algorithm Notes

## Algorithm Notes

- [Introduction](https://mnunknown.gitbook.io/algorithm-notes/master.md)
- [Search & Backtracking 搜索与回溯](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su.md)
- [Tree 与 BackTracking 的比较](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/414.md)
- [Subsets, Combination 与 Permutation](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/517_search_and_recursion_1.md)
- [Subsets & Combinations & Combination Sum](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/subsets_and_combinations_and_combination_sum.md)
- [枚举法](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/520_search_and_recursion_7.md)
- [N 皇后 + 矩阵 Index Trick](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/518_search_and_recursion_3.md)
- [Sudoku 数独 + 矩阵 Index Trick](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/521_er_wei_ju_zhen_trick__sudoku.md)
- [Word Ladder I & II](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/518_search_and_recursion_4.md)
- [Number of ways 类](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/number_of_ways.md)
- [DFS flood filling](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/519_search_and_recursion_6.md)
- [Strobogrammatic 数生成](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/strobogrammatic_shu_sheng_cheng.md)
- [String 构造式 DFS + Backtracking](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/string_gou_zao_shi_dfs_+_backtracking.md)
- [Word Pattern I & II](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/word_pattern_i_and_ii.md)
- [(G) Binary Watch](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/g_binary_watch.md)
- [(FB) Phone Letter Combination](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/fb_phone_letter_combination.md)
- [常见搜索问题的迭代解法](https://mnunknown.gitbook.io/algorithm-notes/search_and_backtracking_sou_suo_yu_hui_su/subsets_lei_wen_ti_de_201c_die_dai_201d_yu_201c_we.md)
- [String，字符串类](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei.md)
- [多步翻转法](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/522_string.md)
- [Substring 结构和遍历](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/522string__2.md)
- [Palindrome 问题](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/523_string-_palindrome_wen_ti.md)
- [Palindrome Continued](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/524_string-_palindrome_continued.md)
- [String / LinkedList 大数运算](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/525_string_za_ti.md)
- [序列化与压缩](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/526_string.md)
- [5/24 String 杂题](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/524_string_za_ti.md)
- [Knuth–Morris–Pratt 字符串匹配](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/524_string-_kmp_de_ying_yong.md)
- [Lempel–Ziv–Welch 字符串压缩算法](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/lempelzivwelch_zi_fu_chuan_ya_suo_suan_fa.md)
- [(G) Decode String](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/g_decode_string.md)
- [(G) UTF-8 Validation](https://mnunknown.gitbook.io/algorithm-notes/stringff0c_zi_fu_chuan_lei/g_utf-8_validation.md)
- [Binary Tree，二叉树](https://mnunknown.gitbook.io/algorithm-notes/binary_tree.md)
- [各种 Binary Tree 定义](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/61_tree_-_ge_zhong_binary_tree_ding_yi.md)
- [LCA 类问题](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/lca_lei_wen_ti.md)
- [三序遍历，vertical order](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/529_tree.md)
- [Post order traversal 的应用](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/post_order_traversal_de_ying_yong.md)
- [Min/Max/Balanced Depth](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/530_tree.md)
- [BST](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/531_tree-_bst.md)
- [子树结构](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/61_tree.md)
- [Level Order traversal](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/62-_tree-_level_order_traversal.md)
- [Morris 遍历](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/63-_tree-_morris_bian_li.md)
- [修改结构](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/63-_tree.md)
- [创建 / 序列化](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/67-_tree-_chuang_jian__xu_lie_hua.md)
- [子树组合，BST query](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/68-_tree.md)
- [路径与路径和](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/lu_jing_yu_lu_jing_he.md)
- [NestedInteger 类](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/nestedinteger_lei.md)
- [(FB) 从 Binary Tree Path 看如何递归转迭代](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/fbgao_989129_ru_he_di_gui_zhuan_die_dai.md)
- [(FB) Binary Tree Path 比较路径大小](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/fb_binary_tree_path_bi_jiao_lu_jing_da_xiao.md)
- [比较好玩的 Binary Tree 概率题](https://mnunknown.gitbook.io/algorithm-notes/binary_tree/bi_jiao_hao_wan_de_binary_tree_gai_lv_ti.md)
- [Segment & Fenwick Tree，区间树](https://mnunknown.gitbook.io/algorithm-notes/segment_and_fenwick_tree.md)
- [Segment Tree 基础操作](https://mnunknown.gitbook.io/algorithm-notes/segment_and_fenwick_tree/65-_tree-_segment_tree.md)
- [Segment Tree 的应用](https://mnunknown.gitbook.io/algorithm-notes/segment_and_fenwick_tree/65_tree-_segment_tree_de_ying_yong.md)
- [Fenwick Tree (Binary Indexed Tree)](https://mnunknown.gitbook.io/algorithm-notes/segment_and_fenwick_tree/66-_tree-_fenwick_tree_binary_indexed_tree.md)
- [Range Sum Query 2D - Immutable](https://mnunknown.gitbook.io/algorithm-notes/segment_and_fenwick_tree/range_sum_query_2d_-_immutable.md)
- [Union-Find，并查集](https://mnunknown.gitbook.io/algorithm-notes/union-findff0c_bing_cha_ji.md)
- [Union-Find，并查集基础](https://mnunknown.gitbook.io/algorithm-notes/union-findff0c_bing_cha_ji/66-_union-findff0c_bing_cha_ji_ji_chu.md)
- [Union-Find, 并查集应用](https://mnunknown.gitbook.io/algorithm-notes/union-findff0c_bing_cha_ji/67-_union-find-_bing_cha_ji_ying_yong.md)
- [Dynamic Programming, 动态规划](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua.md)
- [6/20, 入门 House Robber](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/620-_dong_tai_gui_hua.md)
- [7/12, Paint Fence / House](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/qi_zha_lan_ff0c_qi_qiang_ff0c_zai_qi_fang.md)
- [6/24, 滚动数组](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/624-_dong_tai_gui_hua.md)
- [6/24, 记忆化搜索](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/624-_dong_tai_gui_hua_ff0c_ji_yi_hua_sou_suo.md)
- [6/24, 博弈类 DP](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/624-_dong_tai_gui_hua_ff0c_bo_yi_lei_dp.md)
- [博弈类DP, Flip Game](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/flip_game.md)
- [6/25, 区间类DP](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/625-_dong_tai_gui_hua_ff0c_qu_jian_lei_dp.md)
- [6/27, subarray 划分类，股票](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/626-_dong_tai_gui_hua_ff0c_subarray_lei.md)
- [7/2, 字符串类](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/72-_dong_tai_gui_hua_ff0c_zi_fu_chuan_lei.md)
- [Bomb Enemies](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/bomb_enemies.md)
- [8/2，背包问题](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/82ff0c_bei_bao_wen_ti.md)
- [(G) Max Vacation](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/g_max_vacation.md)
- [(11/4新增) AST 子树结构 DP](https://mnunknown.gitbook.io/algorithm-notes/dong_tai_gui_hua/xin_589e29_boolean_cao_zuo_fu_zu_he_dp.md)
- [LinkedList，链表](https://mnunknown.gitbook.io/algorithm-notes/linkedlistff0c_lian_biao.md)
- [6/9, LinkedList，反转与删除](https://mnunknown.gitbook.io/algorithm-notes/linkedlistff0c_lian_biao/69-_linkedlistff0c_lian_biao_ji_chu.md)
- [6/11, LinkedList 杂题](https://mnunknown.gitbook.io/algorithm-notes/linkedlistff0c_lian_biao/611-_linkedlist_za_ti.md)
- [(FB) 链表的递归与倒序打印](https://mnunknown.gitbook.io/algorithm-notes/linkedlistff0c_lian_biao/fb_lian_biao_de_di_gui_yu_dao_xu_da_yin.md)
- [LinkedIn 面经，算法题](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing.md)
- [6/17, LinkedIn 面经题](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing/617-_linkedin_mian_jing_ti.md)
- [6/28, LinkedIn 面经题](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing/628-_linkedin_mian_jing_ti.md)
- [7/6, LinkedIn 面经](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing/76-_linkedin_mian_jing.md)
- [Shortest Word Distance 类](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing/shortest_word_distance_lei.md)
- [DFA Parse Integer](https://mnunknown.gitbook.io/algorithm-notes/linkedin_mian_jing/dfa_parse_integer.md)
- [Two Pointers，双指针](https://mnunknown.gitbook.io/algorithm-notes/two_pointers.md)
- [3 Sum, 3 Sum Closest / Smaller, 4 Sum](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/3_sum-_3_sum_closest__smaller-_4_sum.md)
- [对撞型，灌水类](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/613-_two_pointers-_shuang_zhi_zhen.md)
- [对撞型，partition类](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/613-_two_pointersff0c_dui_zhuang_xing_ff0c_partiti.md)
- [Wiggle Sort I & II](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/614-_two_pointers-_shuang_zhi_zhen.md)
- [双指针，窗口类](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/614-_two_pointers-_shuang_zhi_zhen_ff0c_chuang_kou.md)
- [双指针，窗口类](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/615-_two_pointers-_shuang_zhi_zhen_ff0c_chuang_kou.md)
- [Heap，排序 matrix 中的 two pointers](https://mnunknown.gitbook.io/algorithm-notes/two_pointers/heapff0c_pai_xu_array__matrix_xuan_kth.md)
- [Bit & Math，位运算与数学](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue.md)
- [Bit Manipulation，对于 '1' 位的操作](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue/bit_manipulationff0c_shu__1__bits.md)
- [Math & Bit Manipulation, Power of X](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue/63-_math_and_bit_manipulation-_power_of_x.md)
- [坐标系 & 数值计算类](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue/zuo_biao_xi_and_shu_zhi_ji_suan_lei.md)
- [Add Digits](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue/add_digits.md)
- [用 int 做字符串 signature](https://mnunknown.gitbook.io/algorithm-notes/bit_and_mathff0c_wei_yun_suan_yu_shu_xue/yong_int_zuo_zi_fuchuan_signature.md)
- [Interval 与 扫描线](https://mnunknown.gitbook.io/algorithm-notes/interval_yu_sao_miao_xian.md)
- [Range Addition & LCS](https://mnunknown.gitbook.io/algorithm-notes/interval_yu_sao_miao_xian/range_addition.md)
- [7/5, Interval 类，扫描线](https://mnunknown.gitbook.io/algorithm-notes/interval_yu_sao_miao_xian/75-_interval_lei.md)
- [Trie，字典树](https://mnunknown.gitbook.io/algorithm-notes/trieff0c_zi_dian_shu.md)
- [6/9, Trie, 字典树](https://mnunknown.gitbook.io/algorithm-notes/trieff0c_zi_dian_shu/69-_trie-_zi_dian_shu.md)
- [单调栈，LIS](https://mnunknown.gitbook.io/algorithm-notes/lisff0c_dan_diao_zhan_lei.md)
- [4/13  LIS](https://mnunknown.gitbook.io/algorithm-notes/lisff0c_dan_diao_zhan_lei/chapter1.md)
- [栈， 单调栈](https://mnunknown.gitbook.io/algorithm-notes/lisff0c_dan_diao_zhan_lei/zhan_ff0c_dan_diao_zhan.md)
- [Largest Divisible Subset](https://mnunknown.gitbook.io/algorithm-notes/lisff0c_dan_diao_zhan_lei/largest_divisible_subset.md)
- [Binary Search 类](https://mnunknown.gitbook.io/algorithm-notes/binary_search_lei.md)
- [Matrix Binary Search](https://mnunknown.gitbook.io/algorithm-notes/binary_search_lei/matrix_binary_search.md)
- [Array Binary Search](https://mnunknown.gitbook.io/algorithm-notes/binary_search_lei/array_binary_search.md)
- [Find Peak Element I & II](https://mnunknown.gitbook.io/algorithm-notes/binary_search_lei/find_peak_element_i_and_ii.md)
- [\*\*Median of Two Sorted Arrays](https://mnunknown.gitbook.io/algorithm-notes/binary_search_lei/median_of_two_sorted_arrays.md)
- [Graph & Topological Sort，图 & 拓扑排序](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu.md)
- [有向 / 无向 图的基本性质和操作](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/you_xiang__wu_xiang_tu_de_ji_ben_xing_zhi_he_cao_z.md)
- [拓扑排序, DFS 做法](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/tuo_pu_pai_xu_yuan_ti.md)
- [拓扑排序, BFS 做法](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/tuo_pu_pai_xu_ff0c_bfs_zuo_fa.md)
- [Course Schedule I & II](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/course_schedule_i_and_ii.md)
- [Alien Dictionary](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/alien_dictionary.md)
- [Undirected Graph, BFS](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/undirected_graph-_bfs.md)
- [Undirected Graph, DFS](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/undirected_graph-_dfs.md)
- [矩阵，BFS 最短距离探索](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/ju_zhen_ff0c_bfs_zui_duan_ju_li_tan_suo.md)
- [欧拉回路，Hierholzer算法](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/ou_la_hui_lu_ff0c_hierholzer_suan_fa.md)
- [AI, 迷宫生成](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/ai-_mi_gong_sheng_cheng.md)
- [AI, 迷宫寻路算法](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/ai-_mi_gong_xun_lu_suan_fa.md)
- [(G) Deep Copy 无向图成有向图](https://mnunknown.gitbook.io/algorithm-notes/topological_sortff0c_tuo_pu_pai_xu/g_deep_copy_wu_xiang_tu_cheng_you_xiang_tu.md)
- [括号与数学表达式的计算](https://mnunknown.gitbook.io/algorithm-notes/kuo_hao_ff0c_shu_zhi_ff0c_yu_ji_suan_qi.md)
- [Iterator 类](https://mnunknown.gitbook.io/algorithm-notes/iterator_lei.md)
- [Majority Element，Moore's Voting](https://mnunknown.gitbook.io/algorithm-notes/majority_element.md)
- [Matrix Inplace Operations](https://mnunknown.gitbook.io/algorithm-notes/matrix_index_trick.md)
- [常见数据结构设计](https://mnunknown.gitbook.io/algorithm-notes/shu_ju_jie_gou_de_li_yong_ff0c_chu_li_steam_data.md)
- [(G) Design / OOD 类算法题](https://mnunknown.gitbook.io/algorithm-notes/g_design__ood_lei_suan_fa_ti.md)
- [随机算法 & 数据结构](https://mnunknown.gitbook.io/algorithm-notes/sui_ji_suan_fa_and_shu_ju_jie_gou.md)
- [(FB) I/O Buffer](https://mnunknown.gitbook.io/algorithm-notes/728-_fb_tag_ti.md)
- [(FB) Simplify Path, H-Index I & II](https://mnunknown.gitbook.io/algorithm-notes/728-_fb-_simplify_path-_h-index_i_and_ii.md)
- [(FB) Excel Sheet, Remove Duplicates](https://mnunknown.gitbook.io/algorithm-notes/729-_fb-_excel_sheet.md)
- [Integer 的构造，操作，序列化](https://mnunknown.gitbook.io/algorithm-notes/integer_de_gou_zao_ff0c_cao_zuo_ff0c_xu_lie_hua.md)
- [Frequency 类问题](https://mnunknown.gitbook.io/algorithm-notes/frequency_lei_wen_ti.md)
- [Missing Number 类，元素交换，数组环形跳转](https://mnunknown.gitbook.io/algorithm-notes/missing_number_lei.md)
- [8/10, Google Tag](https://mnunknown.gitbook.io/algorithm-notes/810-_google_tag.md)
- [(FB) Rearrange String k Distance Apart](https://mnunknown.gitbook.io/algorithm-notes/gao_989129_rearrange_string_k_distance_apart.md)
- [Abstract Algebra](https://mnunknown.gitbook.io/algorithm-notes/abstract_algebra.md)
- [Chap1 -- Why Abstract Algebra ?](https://mnunknown.gitbook.io/algorithm-notes/abstract_algebra/chap1_--_why_abstract_algebra.md)
- [Chap2 -- Operations](https://mnunknown.gitbook.io/algorithm-notes/abstract_algebra/chap2_--_operations.md)
- [Chap3 -- The Definition of Groups](https://mnunknown.gitbook.io/algorithm-notes/abstract_algebra/chap3_--_the_definition_of_groups.md)
