Gitbook 地址(推荐):https://labuladong.gitbook.io/algo/ 目录 第零章、必读系列 学习算法和刷题的框架思维 学习数据结构和算法读什么书 动态规划解题框架 动态规划答疑篇 回溯算法解题框架 为了学会二分查找,我写了首诗 滑动窗口解题框架 双指针技巧解题框架 Linux的进程、线程、文件描述符是什么 Git/SQL/正则表达式的在线练习平台 第一章、动态规划系列 动态规划详解 动态规划答疑篇 动态规划设计:最长递增子序列 编辑距离 经典动态规划问题:高楼扔鸡蛋 经典动态规划问题:高楼扔鸡蛋(进阶) 动态规划之子序列问题解题模板 动态规划之博弈问题 贪心算法之区间调度问题 动态规划之KMP字符匹配算法 团灭 LeetCode 股票买卖问题 团灭 LeetCode 打家劫舍问题 动态规划之四键键盘 动态规划之正则表达 最长公共子序列 第二章、数据结构系列 学习算法和刷题的思路指南 学习数据结构和算法读什么书 二叉堆详解实现优先级队列 LRU算法详解 二叉搜索树操作集锦 特殊数据结构:单调栈 特殊数据结构:单调队列 设计Twitter 递归反转链表的一部分 队列实现栈|栈实现队列 第三章、算法思维系列 算法学习之路 回溯算法详解 回溯算法团灭排列、组合、子集问题 二分查找详解 双指针技巧总结 滑动窗口技巧 twoSum问题的核心思想 常用的位操作 拆解复杂问题:实现计算器 烧饼排序 前缀和技巧 字符串乘法 FloodFill算法详解及应用 区间调度之区间合并问题 区间调度之区间交集问题 信封嵌套问题 几个反直觉的概率问题 洗牌算法 递归详解 第四章、高频面试系列 如何实现LRU算法 如何高效寻找素数 如何计算编辑距离 如何运用二分查找算法 如何高效解决接雨水问题 如何去除有序数组的重复元素 如何寻找最长回文子串 如何k个一组反转链表 如何判定括号合法性 如何寻找消失的元素 如何寻找缺失和重复的元素 如何判断回文链表 如何在无限序列中随机抽取元素 如何调度考生的座位 Union-Find算法详解 Union-Find算法应用 一行代码就能解决的算法题 二分查找高效判定子序列 第五章、计算机技术 Linux的进程、线程、文件描述符是什么 一文看懂 session 和 cookie 关于 Linux shell 你必须知道的 加密算法的前身今世 Git/SQL/正则表达式的在线练习平台