diff --git a/docs/notes/Docker.md b/docs/notes/Docker.md
index 12252ccc..e4b906a5 100644
--- a/docs/notes/Docker.md
+++ b/docs/notes/Docker.md
@@ -1,11 +1,11 @@
-
+
* [一、解决的问题](#一解决的问题)
* [二、与虚拟机的比较](#二与虚拟机的比较)
* [三、优势](#三优势)
* [四、使用场景](#四使用场景)
* [五、镜像与容器](#五镜像与容器)
* [参考资料](#参考资料)
-
+
# 一、解决的问题
diff --git a/docs/notes/Git.md b/docs/notes/Git.md
index 9544245f..ca098929 100644
--- a/docs/notes/Git.md
+++ b/docs/notes/Git.md
@@ -1,4 +1,4 @@
-
+
* [集中式与分布式](#集中式与分布式)
* [中心服务器](#中心服务器)
* [工作流](#工作流)
@@ -11,7 +11,7 @@
* [.gitignore 文件](#gitignore-文件)
* [Git 命令一览](#git-命令一览)
* [参考资料](#参考资料)
-
+
# 集中式与分布式
diff --git a/docs/notes/HTTP.md b/docs/notes/HTTP.md
index b8441950..9af8ea2d 100644
--- a/docs/notes/HTTP.md
+++ b/docs/notes/HTTP.md
@@ -1,4 +1,4 @@
-
+
* [一 、基础概念](#一-基础概念)
* [URI](#uri)
* [请求和响应报文](#请求和响应报文)
@@ -53,7 +53,7 @@
* [可缓存](#可缓存)
* [XMLHttpRequest](#xmlhttprequest)
* [参考资料](#参考资料)
-
+
# 一 、基础概念
diff --git a/docs/notes/Java IO.md b/docs/notes/Java IO.md
index 36ba5903..ac7a008f 100644
--- a/docs/notes/Java IO.md
+++ b/docs/notes/Java IO.md
@@ -1,4 +1,4 @@
-
+
* [一、概览](#一概览)
* [二、磁盘操作](#二磁盘操作)
* [三、字节操作](#三字节操作)
@@ -28,7 +28,7 @@
* [内存映射文件](#内存映射文件)
* [对比](#对比)
* [八、参考资料](#八参考资料)
-
+
# 一、概览
diff --git a/docs/notes/Java 基础.md b/docs/notes/Java 基础.md
index 8de50568..60305a40 100644
--- a/docs/notes/Java 基础.md
+++ b/docs/notes/Java 基础.md
@@ -1,4 +1,4 @@
-
+
* [一、数据类型](#一数据类型)
* [基本类型](#基本类型)
* [包装类型](#包装类型)
@@ -37,7 +37,7 @@
* [Java 与 C++ 的区别](#java-与-c-的区别)
* [JRE or JDK](#jre-or-jdk)
* [参考资料](#参考资料)
-
+
# 一、数据类型
diff --git a/docs/notes/Java 容器.md b/docs/notes/Java 容器.md
index 4c6de3f9..ab2f6125 100644
--- a/docs/notes/Java 容器.md
+++ b/docs/notes/Java 容器.md
@@ -1,4 +1,4 @@
-
+
* [一、概览](#一概览)
* [Collection](#collection)
* [Map](#map)
@@ -15,7 +15,7 @@
* [LinkedHashMap](#linkedhashmap)
* [WeakHashMap](#weakhashmap)
* [参考资料](#参考资料)
-
+
# 一、概览
diff --git a/docs/notes/Java 并发.md b/docs/notes/Java 并发.md
index b8cff01d..a06b7f21 100644
--- a/docs/notes/Java 并发.md
+++ b/docs/notes/Java 并发.md
@@ -1,4 +1,4 @@
-
+
* [一、线程状态转换](#一线程状态转换)
* [新建(New)](#新建new)
* [可运行(Runnable)](#可运行runnable)
@@ -56,7 +56,7 @@
* [偏向锁](#偏向锁)
* [十三、多线程开发良好的实践](#十三多线程开发良好的实践)
* [参考资料](#参考资料)
-
+
# 一、线程状态转换
diff --git a/docs/notes/Java 虚拟机.md b/docs/notes/Java 虚拟机.md
index 40fc5433..a6b39e64 100644
--- a/docs/notes/Java 虚拟机.md
+++ b/docs/notes/Java 虚拟机.md
@@ -1,4 +1,4 @@
-
+
* [一、运行时数据区域](#一运行时数据区域)
* [程序计数器](#程序计数器)
* [Java 虚拟机栈](#java-虚拟机栈)
@@ -25,7 +25,7 @@
* [双亲委派模型](#双亲委派模型)
* [自定义类加载器实现](#自定义类加载器实现)
* [参考资料](#参考资料)
-
+
# 一、运行时数据区域
diff --git a/docs/notes/Leetcode 题解 - 二分查找.md b/docs/notes/Leetcode 题解 - 二分查找.md
index 9672e7b3..50625087 100644
--- a/docs/notes/Leetcode 题解 - 二分查找.md
+++ b/docs/notes/Leetcode 题解 - 二分查找.md
@@ -1,4 +1,4 @@
-
+
* [原理](#原理)
* [1. 正常实现](#1-正常实现)
* [2. 时间复杂度](#2-时间复杂度)
@@ -12,7 +12,7 @@
* [4. 第一个错误的版本](#4-第一个错误的版本)
* [5. 旋转数组的最小数字](#5-旋转数组的最小数字)
* [6. 查找区间](#6-查找区间)
-
+
# 原理
diff --git a/docs/notes/Leetcode 题解 - 位运算.md b/docs/notes/Leetcode 题解 - 位运算.md
index a187337d..b2ff9b8f 100644
--- a/docs/notes/Leetcode 题解 - 位运算.md
+++ b/docs/notes/Leetcode 题解 - 位运算.md
@@ -1,4 +1,4 @@
-
+
* [原理](#原理)
* [1. 基本原理](#1-基本原理)
* [2. mask 计算](#2-mask-计算)
@@ -17,7 +17,7 @@
* [实现整数的加法](#实现整数的加法)
* [字符串数组最大乘积](#字符串数组最大乘积)
* [统计从 0 \~ n 每个数的二进制表示中 1 的个数](#统计从-0-\~-n-每个数的二进制表示中-1-的个数)
-
+
# 原理
diff --git a/docs/notes/Leetcode 题解 - 分治.md b/docs/notes/Leetcode 题解 - 分治.md
index b96b5666..5d445004 100644
--- a/docs/notes/Leetcode 题解 - 分治.md
+++ b/docs/notes/Leetcode 题解 - 分治.md
@@ -1,7 +1,7 @@
-
+
* [1. 给表达式加括号](#1-给表达式加括号)
* [2. 不同的二叉搜索树](#2-不同的二叉搜索树)
-
+
# 1. 给表达式加括号
diff --git a/docs/notes/Leetcode 题解 - 动态规划.md b/docs/notes/Leetcode 题解 - 动态规划.md
index 1e06685d..ef68a4e6 100644
--- a/docs/notes/Leetcode 题解 - 动态规划.md
+++ b/docs/notes/Leetcode 题解 - 动态规划.md
@@ -1,4 +1,4 @@
-
+
* [斐波那契数列](#斐波那契数列)
* [爬楼梯](#爬楼梯)
* [强盗抢劫](#强盗抢劫)
@@ -40,7 +40,7 @@
* [删除两个字符串的字符使它们相等](#删除两个字符串的字符使它们相等)
* [编辑距离](#编辑距离)
* [复制粘贴字符](#复制粘贴字符)
-
+
递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算。
diff --git a/docs/notes/Leetcode 题解 - 双指针.md b/docs/notes/Leetcode 题解 - 双指针.md
index b00e3080..6383b1fa 100644
--- a/docs/notes/Leetcode 题解 - 双指针.md
+++ b/docs/notes/Leetcode 题解 - 双指针.md
@@ -1,4 +1,4 @@
-
+
* [有序数组的 Two Sum](#有序数组的-two-sum)
* [两数平方和](#两数平方和)
* [反转字符串中的元音字符](#反转字符串中的元音字符)
@@ -6,7 +6,7 @@
* [归并两个有序数组](#归并两个有序数组)
* [判断链表是否存在环](#判断链表是否存在环)
* [最长子序列](#最长子序列)
-
+
双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。
diff --git a/docs/notes/Leetcode 题解 - 哈希表.md b/docs/notes/Leetcode 题解 - 哈希表.md
index b31c9d81..1401461c 100644
--- a/docs/notes/Leetcode 题解 - 哈希表.md
+++ b/docs/notes/Leetcode 题解 - 哈希表.md
@@ -1,9 +1,9 @@
-
+
* [1. 数组中两个数的和为给定值](#1-数组中两个数的和为给定值)
* [2. 判断数组是否含有重复元素](#2-判断数组是否含有重复元素)
* [3. 最长和谐序列](#3-最长和谐序列)
* [4. 最长连续序列](#4-最长连续序列)
-
+
哈希表使用 O(N) 空间复杂度存储数据,并且以 O(1) 时间复杂度求解问题。
diff --git a/docs/notes/Leetcode 题解 - 图.md b/docs/notes/Leetcode 题解 - 图.md
index 47fe85bc..88b95693 100644
--- a/docs/notes/Leetcode 题解 - 图.md
+++ b/docs/notes/Leetcode 题解 - 图.md
@@ -1,4 +1,4 @@
-
+
* [二分图](#二分图)
* [判断是否为二分图](#判断是否为二分图)
* [拓扑排序](#拓扑排序)
@@ -6,7 +6,7 @@
* [课程安排的顺序](#课程安排的顺序)
* [并查集](#并查集)
* [冗余连接](#冗余连接)
-
+
# 二分图
diff --git a/docs/notes/Leetcode 题解 - 字符串.md b/docs/notes/Leetcode 题解 - 字符串.md
index 45ca06d4..80c8de9e 100644
--- a/docs/notes/Leetcode 题解 - 字符串.md
+++ b/docs/notes/Leetcode 题解 - 字符串.md
@@ -1,4 +1,4 @@
-
+
* [字符串循环移位包含](#字符串循环移位包含)
* [字符串循环移位](#字符串循环移位)
* [字符串中单词的翻转](#字符串中单词的翻转)
@@ -8,7 +8,7 @@
* [回文子字符串个数](#回文子字符串个数)
* [判断一个整数是否是回文数](#判断一个整数是否是回文数)
* [统计二进制字符串中连续 1 和连续 0 数量相同的子字符串个数](#统计二进制字符串中连续-1-和连续-0-数量相同的子字符串个数)
-
+
# 字符串循环移位包含
diff --git a/docs/notes/Leetcode 题解 - 排序.md b/docs/notes/Leetcode 题解 - 排序.md
index 23d331d9..ab34b24f 100644
--- a/docs/notes/Leetcode 题解 - 排序.md
+++ b/docs/notes/Leetcode 题解 - 排序.md
@@ -1,4 +1,4 @@
-
+
* [快速选择](#快速选择)
* [堆排序](#堆排序)
* [Kth Element](#kth-element)
@@ -7,7 +7,7 @@
* [按照字符出现次数对字符串排序](#按照字符出现次数对字符串排序)
* [荷兰国旗问题](#荷兰国旗问题)
* [按颜色进行排序](#按颜色进行排序)
-
+
# 快速选择
diff --git a/docs/notes/Leetcode 题解 - 搜索.md b/docs/notes/Leetcode 题解 - 搜索.md
index 3de3a737..daee078f 100644
--- a/docs/notes/Leetcode 题解 - 搜索.md
+++ b/docs/notes/Leetcode 题解 - 搜索.md
@@ -1,4 +1,4 @@
-
+
* [BFS](#bfs)
* [计算在网格中从原点到特定点的最短路径长度](#计算在网格中从原点到特定点的最短路径长度)
* [组成整数的最小平方数数量](#组成整数的最小平方数数量)
@@ -25,7 +25,7 @@
* [分割字符串使得每个部分都是回文数](#分割字符串使得每个部分都是回文数)
* [数独](#数独)
* [N 皇后](#n-皇后)
-
+
深度优先搜索和广度优先搜索广泛运用于树和图中,但是它们的应用远远不止如此。
diff --git a/docs/notes/Leetcode 题解 - 数学.md b/docs/notes/Leetcode 题解 - 数学.md
index 845d0054..a71a23d5 100644
--- a/docs/notes/Leetcode 题解 - 数学.md
+++ b/docs/notes/Leetcode 题解 - 数学.md
@@ -1,4 +1,4 @@
-
+
* [素数分解](#素数分解)
* [整除](#整除)
* [最大公约数最小公倍数](#最大公约数最小公倍数)
@@ -25,7 +25,7 @@
* [3 的 n 次方](#3-的-n-次方)
* [乘积数组](#乘积数组)
* [找出数组中的乘积最大的三个数](#找出数组中的乘积最大的三个数)
-
+
# 素数分解
diff --git a/docs/notes/Leetcode 题解 - 数组与矩阵.md b/docs/notes/Leetcode 题解 - 数组与矩阵.md
index f8b89778..d7091d74 100644
--- a/docs/notes/Leetcode 题解 - 数组与矩阵.md
+++ b/docs/notes/Leetcode 题解 - 数组与矩阵.md
@@ -1,4 +1,4 @@
-
+
* [1. 把数组中的 0 移到末尾](#1-把数组中的-0-移到末尾)
* [2. 改变矩阵维度](#2-改变矩阵维度)
* [3. 找出数组中最长的连续 1](#3-找出数组中最长的连续-1)
@@ -11,7 +11,7 @@
* [10. 对角元素相等的矩阵](#10-对角元素相等的矩阵)
* [11. 嵌套数组](#11-嵌套数组)
* [12. 分隔数组](#12-分隔数组)
-
+
# 1. 把数组中的 0 移到末尾
diff --git a/docs/notes/Leetcode 题解 - 栈和队列.md b/docs/notes/Leetcode 题解 - 栈和队列.md
index 364498b3..dd9f35bd 100644
--- a/docs/notes/Leetcode 题解 - 栈和队列.md
+++ b/docs/notes/Leetcode 题解 - 栈和队列.md
@@ -1,11 +1,11 @@
-
+
* [用栈实现队列](#用栈实现队列)
* [用队列实现栈](#用队列实现栈)
* [最小值栈](#最小值栈)
* [用栈实现括号匹配](#用栈实现括号匹配)
* [数组中元素与下一个比它大的元素之间的距离](#数组中元素与下一个比它大的元素之间的距离)
* [循环数组中比当前元素大的下一个元素](#循环数组中比当前元素大的下一个元素)
-
+
# 用栈实现队列
diff --git a/docs/notes/Leetcode 题解 - 树.md b/docs/notes/Leetcode 题解 - 树.md
index fe57716d..b58cb11b 100644
--- a/docs/notes/Leetcode 题解 - 树.md
+++ b/docs/notes/Leetcode 题解 - 树.md
@@ -1,4 +1,4 @@
-
+
* [递归](#递归)
* [树的高度](#树的高度)
* [平衡树](#平衡树)
@@ -35,7 +35,7 @@
* [Trie](#trie)
* [实现一个 Trie](#实现一个-trie)
* [实现一个 Trie,用来求前缀和](#实现一个-trie,用来求前缀和)
-
+
# 递归
diff --git a/docs/notes/Leetcode 题解 - 贪心思想.md b/docs/notes/Leetcode 题解 - 贪心思想.md
index a3f10793..bfd0fde3 100644
--- a/docs/notes/Leetcode 题解 - 贪心思想.md
+++ b/docs/notes/Leetcode 题解 - 贪心思想.md
@@ -1,4 +1,4 @@
-
+
* [分配饼干](#分配饼干)
* [不重叠的区间个数](#不重叠的区间个数)
* [投飞镖刺破气球](#投飞镖刺破气球)
@@ -10,7 +10,7 @@
* [股票的最大收益](#股票的最大收益)
* [子数组最大的和](#子数组最大的和)
* [买入和售出股票最大的收益](#买入和售出股票最大的收益)
-
+
保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。
diff --git a/docs/notes/Leetcode 题解 - 链表.md b/docs/notes/Leetcode 题解 - 链表.md
index e3209ec1..ada83019 100644
--- a/docs/notes/Leetcode 题解 - 链表.md
+++ b/docs/notes/Leetcode 题解 - 链表.md
@@ -1,4 +1,4 @@
-
+
* [找出两个链表的交点](#找出两个链表的交点)
* [链表反转](#链表反转)
* [归并两个有序的链表](#归并两个有序的链表)
@@ -9,7 +9,7 @@
* [回文链表](#回文链表)
* [分隔链表](#分隔链表)
* [链表元素按奇偶聚集](#链表元素按奇偶聚集)
-
+
链表是空节点,或者有一个值和一个指向下一个链表的指针,因此很多链表问题可以用递归来处理。
diff --git a/docs/notes/Leetcode-Database 题解.md b/docs/notes/Leetcode-Database 题解.md
index 62b6a457..8f318f32 100644
--- a/docs/notes/Leetcode-Database 题解.md
+++ b/docs/notes/Leetcode-Database 题解.md
@@ -1,4 +1,4 @@
-
+
* [595. Big Countries](#595-big-countries)
* [627. Swap Salary](#627-swap-salary)
* [620. Not Boring Movies](#620-not-boring-movies)
@@ -14,7 +14,7 @@
* [178. Rank Scores](#178-rank-scores)
* [180. Consecutive Numbers](#180-consecutive-numbers)
* [626. Exchange Seats](#626-exchange-seats)
-
+
# 595. Big Countries
diff --git a/docs/notes/Linux.md b/docs/notes/Linux.md
index da2b602c..0dd23fd7 100644
--- a/docs/notes/Linux.md
+++ b/docs/notes/Linux.md
@@ -1,4 +1,4 @@
-
+
* [一、常用操作以及概念](#一常用操作以及概念)
* [快捷键](#快捷键)
* [求助](#求助)
@@ -64,7 +64,7 @@
* [孤儿进程](#孤儿进程)
* [僵尸进程](#僵尸进程)
* [参考资料](#参考资料)
-
+
# 一、常用操作以及概念
diff --git a/docs/notes/MySQL.md b/docs/notes/MySQL.md
index e4f92e6a..831c876b 100644
--- a/docs/notes/MySQL.md
+++ b/docs/notes/MySQL.md
@@ -1,4 +1,4 @@
-
+
* [一、索引](#一索引)
* [B+ Tree 原理](#b-tree-原理)
* [MySQL 索引](#mysql-索引)
@@ -27,7 +27,7 @@
* [主从复制](#主从复制)
* [读写分离](#读写分离)
* [参考资料](#参考资料)
-
+
# 一、索引
diff --git a/docs/notes/Redis.md b/docs/notes/Redis.md
index d0e9c8f7..452d217c 100644
--- a/docs/notes/Redis.md
+++ b/docs/notes/Redis.md
@@ -1,4 +1,4 @@
-
+
* [一、概述](#一概述)
* [二、数据类型](#二数据类型)
* [STRING](#string)
@@ -42,7 +42,7 @@
* [点赞功能](#点赞功能)
* [对文章进行排序](#对文章进行排序)
* [参考资料](#参考资料)
-
+
# 一、概述
diff --git a/docs/notes/SQL.md b/docs/notes/SQL.md
index 18b222d4..1b3b8e2c 100644
--- a/docs/notes/SQL.md
+++ b/docs/notes/SQL.md
@@ -1,4 +1,4 @@
-
+
* [一、基础](#一基础)
* [二、创建表](#二创建表)
* [三、修改表](#三修改表)
@@ -23,7 +23,7 @@
* [二十二、字符集](#二十二字符集)
* [二十三、权限管理](#二十三权限管理)
* [参考资料](#参考资料)
-
+
# 一、基础
diff --git a/docs/notes/Socket.md b/docs/notes/Socket.md
index 846e0b28..a3ff120f 100644
--- a/docs/notes/Socket.md
+++ b/docs/notes/Socket.md
@@ -1,4 +1,4 @@
-
+
* [一、I/O 模型](#一io-模型)
* [阻塞式 I/O](#阻塞式-io)
* [非阻塞式 I/O](#非阻塞式-io)
@@ -14,7 +14,7 @@
* [工作模式](#工作模式)
* [应用场景](#应用场景)
* [参考资料](#参考资料)
-
+
# 一、I/O 模型
diff --git a/docs/notes/代码可读性.md b/docs/notes/代码可读性.md
index f0eec0ba..304c2805 100644
--- a/docs/notes/代码可读性.md
+++ b/docs/notes/代码可读性.md
@@ -1,4 +1,4 @@
-
+
* [一、可读性的重要性](#一可读性的重要性)
* [二、用名字表达代码含义](#二用名字表达代码含义)
* [三、名字不能带来歧义](#三名字不能带来歧义)
@@ -13,7 +13,7 @@
* [十二、用自然语言表述代码](#十二用自然语言表述代码)
* [十三、减少代码量](#十三减少代码量)
* [参考资料](#参考资料)
-
+
# 一、可读性的重要性
diff --git a/docs/notes/代码风格规范.md b/docs/notes/代码风格规范.md
index cd3df120..04d6b430 100644
--- a/docs/notes/代码风格规范.md
+++ b/docs/notes/代码风格规范.md
@@ -1,5 +1,5 @@
-
-
+
+
- [Twitter Java Style Guide](https://github.com/twitter/commons/blob/master/src/java/com/twitter/common/styleguide.md)
diff --git a/docs/notes/分布式.md b/docs/notes/分布式.md
index 084f03b7..41295cf6 100644
--- a/docs/notes/分布式.md
+++ b/docs/notes/分布式.md
@@ -1,4 +1,4 @@
-
+
* [一、分布式锁](#一分布式锁)
* [数据库的唯一索引](#数据库的唯一索引)
* [Redis 的 SETNX 指令](#redis-的-setnx-指令)
@@ -24,7 +24,7 @@
* [多个 Candidate 竞选](#多个-candidate-竞选)
* [数据同步](#数据同步)
* [参考](#参考)
-
+
# 一、分布式锁
diff --git a/docs/notes/剑指 Offer 题解 - 10~19.md b/docs/notes/剑指 Offer 题解 - 10~19.md
index 70309472..376c3a3e 100644
--- a/docs/notes/剑指 Offer 题解 - 10~19.md
+++ b/docs/notes/剑指 Offer 题解 - 10~19.md
@@ -1,4 +1,4 @@
-
+
* [10.1 斐波那契数列](#101-斐波那契数列)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -45,7 +45,7 @@
* [19. 正则表达式匹配](#19-正则表达式匹配)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
-
+
# 10.1 斐波那契数列
diff --git a/docs/notes/剑指 Offer 题解 - 20~29.md b/docs/notes/剑指 Offer 题解 - 20~29.md
index 2d85e948..ddd055be 100644
--- a/docs/notes/剑指 Offer 题解 - 20~29.md
+++ b/docs/notes/剑指 Offer 题解 - 20~29.md
@@ -1,4 +1,4 @@
-
+
* [20. 表示数值的字符串](#20-表示数值的字符串)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -31,7 +31,7 @@
* [29. 顺时针打印矩阵](#29-顺时针打印矩阵)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
-
+
# 20. 表示数值的字符串
diff --git a/docs/notes/剑指 Offer 题解 - 30~39.md b/docs/notes/剑指 Offer 题解 - 30~39.md
index 0f662ed1..c7318321 100644
--- a/docs/notes/剑指 Offer 题解 - 30~39.md
+++ b/docs/notes/剑指 Offer 题解 - 30~39.md
@@ -1,4 +1,4 @@
-
+
* [30. 包含 min 函数的栈](#30-包含-min-函数的栈)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -34,7 +34,7 @@
* [解题思路](#解题思路)
* [39. 数组中出现次数超过一半的数字](#39-数组中出现次数超过一半的数字)
* [解题思路](#解题思路)
-
+
# 30. 包含 min 函数的栈
diff --git a/docs/notes/剑指 Offer 题解 - 3~9.md b/docs/notes/剑指 Offer 题解 - 3~9.md
index d6e87ba3..a42736a0 100644
--- a/docs/notes/剑指 Offer 题解 - 3~9.md
+++ b/docs/notes/剑指 Offer 题解 - 3~9.md
@@ -1,4 +1,4 @@
-
+
* [3. 数组中重复的数字](#3-数组中重复的数字)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -23,7 +23,7 @@
* [9. 用两个栈实现队列](#9-用两个栈实现队列)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
-
+
# 3. 数组中重复的数字
diff --git a/docs/notes/剑指 Offer 题解 - 40~49.md b/docs/notes/剑指 Offer 题解 - 40~49.md
index 7787e46d..bef509af 100644
--- a/docs/notes/剑指 Offer 题解 - 40~49.md
+++ b/docs/notes/剑指 Offer 题解 - 40~49.md
@@ -1,4 +1,4 @@
-
+
* [40. 最小的 K 个数](#40-最小的-k-个数)
* [解题思路](#解题思路)
* [快速选择](#快速选择)
@@ -32,7 +32,7 @@
* [49. 丑数](#49-丑数)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
-
+
# 40. 最小的 K 个数
diff --git a/docs/notes/剑指 Offer 题解 - 50~59.md b/docs/notes/剑指 Offer 题解 - 50~59.md
index 9db7cb55..cdf848fe 100644
--- a/docs/notes/剑指 Offer 题解 - 50~59.md
+++ b/docs/notes/剑指 Offer 题解 - 50~59.md
@@ -1,4 +1,4 @@
-
+
* [50. 第一个只出现一次的字符位置](#50-第一个只出现一次的字符位置)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -37,7 +37,7 @@
* [59. 滑动窗口的最大值](#59-滑动窗口的最大值)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
-
+
# 50. 第一个只出现一次的字符位置
diff --git a/docs/notes/剑指 Offer 题解 - 60~68.md b/docs/notes/剑指 Offer 题解 - 60~68.md
index 76631d94..41ae9fa3 100644
--- a/docs/notes/剑指 Offer 题解 - 60~68.md
+++ b/docs/notes/剑指 Offer 题解 - 60~68.md
@@ -1,4 +1,4 @@
-
+
* [60. n 个骰子的点数](#60-n-个骰子的点数)
* [题目描述](#题目描述)
* [解题思路](#解题思路)
@@ -29,7 +29,7 @@
* [解题思路](#解题思路)
* [二叉查找树](#二叉查找树)
* [普通二叉树](#普通二叉树)
-
+
# 60. n 个骰子的点数
diff --git a/docs/notes/攻击技术.md b/docs/notes/攻击技术.md
index ced5aef8..9bd148c6 100644
--- a/docs/notes/攻击技术.md
+++ b/docs/notes/攻击技术.md
@@ -1,10 +1,10 @@
-
+
* [一、跨站脚本攻击](#一跨站脚本攻击)
* [二、跨站请求伪造](#二跨站请求伪造)
* [三、SQL 注入攻击](#三sql-注入攻击)
* [四、拒绝服务攻击](#四拒绝服务攻击)
* [参考资料](#参考资料)
-
+
# 一、跨站脚本攻击
diff --git a/docs/notes/数据库系统原理.md b/docs/notes/数据库系统原理.md
index fd638258..73aba7b8 100644
--- a/docs/notes/数据库系统原理.md
+++ b/docs/notes/数据库系统原理.md
@@ -1,4 +1,4 @@
-
+
* [一、事务](#一事务)
* [概念](#概念)
* [ACID](#acid)
@@ -38,7 +38,7 @@
* [联系的多向性](#联系的多向性)
* [表示子类](#表示子类)
* [参考资料](#参考资料)
-
+
# 一、事务
diff --git a/docs/notes/构建工具.md b/docs/notes/构建工具.md
index 44967d8e..f8f481ee 100644
--- a/docs/notes/构建工具.md
+++ b/docs/notes/构建工具.md
@@ -1,9 +1,9 @@
-
+
* [一、构建工具的作用](#一构建工具的作用)
* [二、Java 主流构建工具](#二java-主流构建工具)
* [三、Maven](#三maven)
* [参考资料](#参考资料)
-
+
# 一、构建工具的作用
diff --git a/docs/notes/正则表达式.md b/docs/notes/正则表达式.md
index 356754ee..fc580d5d 100644
--- a/docs/notes/正则表达式.md
+++ b/docs/notes/正则表达式.md
@@ -1,4 +1,4 @@
-
+
* [一、概述](#一概述)
* [二、匹配单个字符](#二匹配单个字符)
* [三、匹配一组字符](#三匹配一组字符)
@@ -10,7 +10,7 @@
* [九、前后查找](#九前后查找)
* [十、嵌入条件](#十嵌入条件)
* [参考资料](#参考资料)
-
+
# 一、概述
diff --git a/docs/notes/消息队列.md b/docs/notes/消息队列.md
index 4d4e55c0..4391d95e 100644
--- a/docs/notes/消息队列.md
+++ b/docs/notes/消息队列.md
@@ -1,4 +1,4 @@
-
+
* [一、消息模型](#一消息模型)
* [点对点](#点对点)
* [发布/订阅](#发布订阅)
@@ -10,7 +10,7 @@
* [发送端的可靠性](#发送端的可靠性)
* [接收端的可靠性](#接收端的可靠性)
* [参考资料](#参考资料)
-
+
# 一、消息模型
diff --git a/docs/notes/算法 - 其它.md b/docs/notes/算法 - 其它.md
index 688a5f88..8ca087e2 100644
--- a/docs/notes/算法 - 其它.md
+++ b/docs/notes/算法 - 其它.md
@@ -1,7 +1,7 @@
-
+
* [汉诺塔](#汉诺塔)
* [哈夫曼编码](#哈夫曼编码)
-
+
# 汉诺塔
diff --git a/docs/notes/算法 - 并查集.md b/docs/notes/算法 - 并查集.md
index 7953373c..27041445 100644
--- a/docs/notes/算法 - 并查集.md
+++ b/docs/notes/算法 - 并查集.md
@@ -1,11 +1,11 @@
-
+
* [前言](#前言)
* [Quick Find](#quick-find)
* [Quick Union](#quick-union)
* [加权 Quick Union](#加权-quick-union)
* [路径压缩的加权 Quick Union](#路径压缩的加权-quick-union)
* [比较](#比较)
-
+
# 前言
diff --git a/docs/notes/算法 - 排序.md b/docs/notes/算法 - 排序.md
index 4063f957..9d94c618 100644
--- a/docs/notes/算法 - 排序.md
+++ b/docs/notes/算法 - 排序.md
@@ -1,4 +1,4 @@
-
+
* [约定](#约定)
* [选择排序](#选择排序)
* [冒泡排序](#冒泡排序)
@@ -24,7 +24,7 @@
* [小结](#小结)
* [1. 排序算法的比较](#1-排序算法的比较)
* [2. Java 的排序算法实现](#2-java-的排序算法实现)
-
+
# 约定
diff --git a/docs/notes/算法 - 栈和队列.md b/docs/notes/算法 - 栈和队列.md
index ea20e8ff..f7b3d248 100644
--- a/docs/notes/算法 - 栈和队列.md
+++ b/docs/notes/算法 - 栈和队列.md
@@ -1,9 +1,9 @@
-
+
* [栈](#栈)
* [1. 数组实现](#1-数组实现)
* [2. 链表实现](#2-链表实现)
* [队列](#队列)
-
+
# 栈
diff --git a/docs/notes/算法 - 符号表.md b/docs/notes/算法 - 符号表.md
index 08beeca6..977bc27c 100644
--- a/docs/notes/算法 - 符号表.md
+++ b/docs/notes/算法 - 符号表.md
@@ -1,4 +1,4 @@
-
+
* [前言](#前言)
* [初级实现](#初级实现)
* [1. 链表实现无序符号表](#1-链表实现无序符号表)
@@ -31,7 +31,7 @@
* [1. 符号表算法比较](#1-符号表算法比较)
* [2. Java 的符号表实现](#2-java-的符号表实现)
* [3. 稀疏向量乘法](#3-稀疏向量乘法)
-
+
# 前言
diff --git a/docs/notes/算法 - 算法分析.md b/docs/notes/算法 - 算法分析.md
index b89da9e8..fb28a202 100644
--- a/docs/notes/算法 - 算法分析.md
+++ b/docs/notes/算法 - 算法分析.md
@@ -1,4 +1,4 @@
-
+
* [数学模型](#数学模型)
* [1. 近似](#1-近似)
* [2. 增长数量级](#2-增长数量级)
@@ -15,7 +15,7 @@
* [2. ThreeSumBinarySearch](#2-threesumbinarysearch)
* [3. ThreeSumTwoPointer](#3-threesumtwopointer)
* [倍率实验](#倍率实验)
-
+
# 数学模型
diff --git a/docs/notes/系统设计基础.md b/docs/notes/系统设计基础.md
index 28f0790a..d9f0c10a 100644
--- a/docs/notes/系统设计基础.md
+++ b/docs/notes/系统设计基础.md
@@ -1,11 +1,11 @@
-
+
* [一、性能](#一性能)
* [二、伸缩性](#二伸缩性)
* [三、扩展性](#三扩展性)
* [四、可用性](#四可用性)
* [五、安全性](#五安全性)
* [参考资料](#参考资料)
-
+
# 一、性能
diff --git a/docs/notes/缓存.md b/docs/notes/缓存.md
index ced0c395..3f13061c 100644
--- a/docs/notes/缓存.md
+++ b/docs/notes/缓存.md
@@ -1,4 +1,4 @@
-
+
* [一、缓存特征](#一缓存特征)
* [二、LRU](#二lru)
* [三、缓存位置](#三缓存位置)
@@ -7,7 +7,7 @@
* [六、数据分布](#六数据分布)
* [七、一致性哈希](#七一致性哈希)
* [参考资料](#参考资料)
-
+
# 一、缓存特征
diff --git a/docs/notes/计算机操作系统 - 内存管理.md b/docs/notes/计算机操作系统 - 内存管理.md
index eef6955c..c6003562 100644
--- a/docs/notes/计算机操作系统 - 内存管理.md
+++ b/docs/notes/计算机操作系统 - 内存管理.md
@@ -1,4 +1,4 @@
-
+
* [虚拟内存](#虚拟内存)
* [分页系统地址映射](#分页系统地址映射)
* [页面置换算法](#页面置换算法)
@@ -11,7 +11,7 @@
* [分段](#分段)
* [段页式](#段页式)
* [分页与分段的比较](#分页与分段的比较)
-
+
# 虚拟内存
diff --git a/docs/notes/计算机操作系统 - 概述.md b/docs/notes/计算机操作系统 - 概述.md
index d87a4f4d..686df0c7 100644
--- a/docs/notes/计算机操作系统 - 概述.md
+++ b/docs/notes/计算机操作系统 - 概述.md
@@ -1,4 +1,4 @@
-
+
* [基本特征](#基本特征)
* [1. 并发](#1-并发)
* [2. 共享](#2-共享)
@@ -17,7 +17,7 @@
* [1. 外中断](#1-外中断)
* [2. 异常](#2-异常)
* [3. 陷入](#3-陷入)
-
+
# 基本特征
diff --git a/docs/notes/计算机操作系统 - 死锁.md b/docs/notes/计算机操作系统 - 死锁.md
index 5340a233..6b176380 100644
--- a/docs/notes/计算机操作系统 - 死锁.md
+++ b/docs/notes/计算机操作系统 - 死锁.md
@@ -1,4 +1,4 @@
-
+
* [必要条件](#必要条件)
* [处理方法](#处理方法)
* [鸵鸟策略](#鸵鸟策略)
@@ -15,7 +15,7 @@
* [1. 安全状态](#1-安全状态)
* [2. 单个资源的银行家算法](#2-单个资源的银行家算法)
* [3. 多个资源的银行家算法](#3-多个资源的银行家算法)
-
+
# 必要条件
diff --git a/docs/notes/计算机操作系统 - 设备管理.md b/docs/notes/计算机操作系统 - 设备管理.md
index de764b5e..6c07e59a 100644
--- a/docs/notes/计算机操作系统 - 设备管理.md
+++ b/docs/notes/计算机操作系统 - 设备管理.md
@@ -1,10 +1,10 @@
-
+
* [磁盘结构](#磁盘结构)
* [磁盘调度算法](#磁盘调度算法)
* [1. 先来先服务](#1-先来先服务)
* [2. 最短寻道时间优先](#2-最短寻道时间优先)
* [3. 电梯算法](#3-电梯算法)
-
+
# 磁盘结构
diff --git a/docs/notes/计算机操作系统 - 进程管理.md b/docs/notes/计算机操作系统 - 进程管理.md
index 57995ca5..8c87d931 100644
--- a/docs/notes/计算机操作系统 - 进程管理.md
+++ b/docs/notes/计算机操作系统 - 进程管理.md
@@ -1,4 +1,4 @@
-
+
* [进程与线程](#进程与线程)
* [1. 进程](#1-进程)
* [2. 线程](#2-线程)
@@ -23,7 +23,7 @@
* [4. 信号量](#4-信号量)
* [5. 共享存储](#5-共享存储)
* [6. 套接字](#6-套接字)
-
+
# 进程与线程
diff --git a/docs/notes/计算机操作系统 - 链接.md b/docs/notes/计算机操作系统 - 链接.md
index 574dbe4c..8fced59d 100644
--- a/docs/notes/计算机操作系统 - 链接.md
+++ b/docs/notes/计算机操作系统 - 链接.md
@@ -1,9 +1,9 @@
-
+
* [编译系统](#编译系统)
* [静态链接](#静态链接)
* [目标文件](#目标文件)
* [动态链接](#动态链接)
-
+
# 编译系统
diff --git a/docs/notes/计算机网络 - 传输层.md b/docs/notes/计算机网络 - 传输层.md
index 55a81028..ebd95d64 100644
--- a/docs/notes/计算机网络 - 传输层.md
+++ b/docs/notes/计算机网络 - 传输层.md
@@ -1,4 +1,4 @@
-
+
* [UDP 和 TCP 的特点](#udp-和-tcp-的特点)
* [UDP 首部格式](#udp-首部格式)
* [TCP 首部格式](#tcp-首部格式)
@@ -10,7 +10,7 @@
* [TCP 拥塞控制](#tcp-拥塞控制)
* [1. 慢开始与拥塞避免](#1-慢开始与拥塞避免)
* [2. 快重传与快恢复](#2-快重传与快恢复)
-
+
网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。
diff --git a/docs/notes/计算机网络 - 应用层.md b/docs/notes/计算机网络 - 应用层.md
index d538952a..6f46d480 100644
--- a/docs/notes/计算机网络 - 应用层.md
+++ b/docs/notes/计算机网络 - 应用层.md
@@ -1,4 +1,4 @@
-
+
* [域名系统](#域名系统)
* [文件传送协议](#文件传送协议)
* [动态主机配置协议](#动态主机配置协议)
@@ -13,7 +13,7 @@
* [2. ARP 解析 MAC 地址](#2-arp-解析-mac-地址)
* [3. DNS 解析域名](#3-dns-解析域名)
* [4. HTTP 请求页面](#4-http-请求页面)
-
+
# 域名系统
diff --git a/docs/notes/计算机网络 - 概述.md b/docs/notes/计算机网络 - 概述.md
index 7e7fef1a..99c795f9 100644
--- a/docs/notes/计算机网络 - 概述.md
+++ b/docs/notes/计算机网络 - 概述.md
@@ -1,4 +1,4 @@
-
+
* [网络的网络](#网络的网络)
* [ISP](#isp)
* [主机之间的通信方式](#主机之间的通信方式)
@@ -15,7 +15,7 @@
* [2. OSI](#2-osi)
* [3. TCP/IP](#3-tcpip)
* [4. 数据在各层之间的传递过程](#4-数据在各层之间的传递过程)
-
+
# 网络的网络
diff --git a/docs/notes/计算机网络 - 物理层.md b/docs/notes/计算机网络 - 物理层.md
index 18a9db82..162f4e2d 100644
--- a/docs/notes/计算机网络 - 物理层.md
+++ b/docs/notes/计算机网络 - 物理层.md
@@ -1,7 +1,7 @@
-
+
* [通信方式](#通信方式)
* [带通调制](#带通调制)
-
+
# 通信方式
diff --git a/docs/notes/计算机网络 - 网络层.md b/docs/notes/计算机网络 - 网络层.md
index ff7906d2..f5b91f97 100644
--- a/docs/notes/计算机网络 - 网络层.md
+++ b/docs/notes/计算机网络 - 网络层.md
@@ -1,4 +1,4 @@
-
+
* [概述](#概述)
* [IP 数据报格式](#ip-数据报格式)
* [IP 地址编址方式](#ip-地址编址方式)
@@ -17,7 +17,7 @@
* [1. 内部网关协议 RIP](#1-内部网关协议-rip)
* [2. 内部网关协议 OSPF](#2-内部网关协议-ospf)
* [3. 外部网关协议 BGP](#3-外部网关协议-bgp)
-
+
# 概述
diff --git a/docs/notes/计算机网络 - 链路层.md b/docs/notes/计算机网络 - 链路层.md
index a22f908e..5b5e97f5 100644
--- a/docs/notes/计算机网络 - 链路层.md
+++ b/docs/notes/计算机网络 - 链路层.md
@@ -1,4 +1,4 @@
-
+
* [基本问题](#基本问题)
* [1. 封装成帧](#1-封装成帧)
* [2. 透明传输](#2-透明传输)
@@ -19,7 +19,7 @@
* [以太网](#以太网)
* [交换机](#交换机)
* [虚拟局域网](#虚拟局域网)
-
+
# 基本问题
diff --git a/docs/notes/设计模式.md b/docs/notes/设计模式.md
index 8c107035..341b4175 100644
--- a/docs/notes/设计模式.md
+++ b/docs/notes/设计模式.md
@@ -1,4 +1,4 @@
-
+
* [一、概述](#一概述)
* [二、创建型](#二创建型)
* [1. 单例(Singleton)](#1-单例singleton)
@@ -29,7 +29,7 @@
* [6. 享元(Flyweight)](#6-享元flyweight)
* [7. 代理(Proxy)](#7-代理proxy)
* [参考资料](#参考资料)
-
+
# 一、概述
diff --git a/docs/notes/集群.md b/docs/notes/集群.md
index 708a4ef3..bb57c2d5 100644
--- a/docs/notes/集群.md
+++ b/docs/notes/集群.md
@@ -1,4 +1,4 @@
-
+
* [一、负载均衡](#一负载均衡)
* [负载均衡算法](#负载均衡算法)
* [转发实现](#转发实现)
@@ -6,7 +6,7 @@
* [Sticky Session](#sticky-session)
* [Session Replication](#session-replication)
* [Session Server](#session-server)
-
+
# 一、负载均衡
diff --git a/docs/notes/面向对象思想.md b/docs/notes/面向对象思想.md
index 909ac89a..b58d2953 100644
--- a/docs/notes/面向对象思想.md
+++ b/docs/notes/面向对象思想.md
@@ -1,4 +1,4 @@
-
+
* [一、三大特性](#一三大特性)
* [封装](#封装)
* [继承](#继承)
@@ -14,7 +14,7 @@
* [S.O.L.I.D](#solid)
* [其他常见原则](#其他常见原则)
* [参考资料](#参考资料)
-
+
# 一、三大特性