算法通关之路 作者:路志鹏出版时间: 2021年版内容简介 这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法难关。本书通过算法题解的形式讲解了基本数据结构和算法知识,包括分治、贪心、回溯和动态规划等算法思想,二分查找、深度优先遍历和广度优先遍历、双指针、滑动窗口、位运算、并查集等解题思路和技巧,以及通用解题“套路”和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。本书适合数据结构和算法知识的学习者,希望学习如何解算法题或正在刷题的计算机行业从业者,也可作为大、中专院校相关专业的辅导参考书。目录第1章 预备知识 11.1 学习算法需要数学知识吗 11.2 基础数据结构和算法 21.3 复杂度分析 3总结 12第2章 数学之美 142.1 两数之和 142.2 三数之和 182.3 四数之和 192.4 四数相加II 222.5 接近的三数之和 242.6 子序列和 262.7 数 312.8 分数到小数 332.9 整除子集 352.10 质数排列 37总结 39第3章 回文的艺术 413.1 验证回文字符串Ⅱ 413.2 回文链表 443.3 回文数 473.4 长回文子串 483.5 长回文子序列 503.6 超级回文数 53总结 56第4章 游戏之乐 584.1 外观数列(报数) 584.2 24点 614.3 数独游戏 674.4 生命游戏 75总结 78第5章 深度优先遍历和广度优先遍历 795.1 深度优先遍历 795.2 广度优先遍历 815.3 路径和系列问题 825.4 岛屿问题 91总结 100第6章 二分法 1026.1 二分查找 1026.2 寻找旋转排序数组中的小值 1056.3 爱吃香蕉的珂珂 1076.4 x的平方根 1096.5 寻找峰值 1126.6 分割数组的值 114总结 118第7章 位运算 1197.1 位1的个数 1207.2 实现加法 1227.3 整数替换 1247.4 只出现一次的数字 127总结 133第8章 设计 1358.1 小栈 1358.2 实现 Trie(前缀树) 1428.3 LRU 缓存机制 1468.4 LFU 缓存 1498.5 设计跳表 155总结 163第9章 双指针 1649.1 头/尾指针 1669.2 快慢指针 171总结 182第10章 动态规划 18310.1 爬楼梯 18610.2 打家劫舍系列 18810.3 不同路径 19510.4 零钱兑换 199总结 204第11章 滑动窗口 20511.1 滑动窗口值 20611.2 小覆盖子串 20911.3 替换后的长重复字符 21311.4 字符串的排列 216总结 219第12章 博弈问题 22012.1 石子游戏 22012.2 预测赢家 22512.3 Nim 游戏 23012.4 猜数字大小II 233总结 236第13章 股票问题 23713.1 买卖股票的时机 23713.2 买卖股票的时机II 24013.3 买卖股票的时机(含手续费) 24213.4 买卖股票的时机(含冷冻期) 24713.5 买卖股票的时机IV 249总结 253第14章 分治法 25414.1 合并k个排序链表 25514.2 数组中的第k个元素 26014.3 搜索二维矩阵 II 265总结 274第15章 贪心法 27615.1 分发饼干 27615.2 跳跃游戏 27815.3 任务调度器 28215.4 分发糖果 28415.5 无重叠区间 287总结 289第16章 回溯法 29016.1 组合总和 I 29016.2 组合总和 II 29616.3 子集 29916.4 全排列 30016.5 解数独 301总结 304第17章 一些有趣的题目 30617.1 求众数 II 30617.2 柱状图中的矩形 30917.3 一周中的第几天 31417.4 水壶问题 31717.5 可怜的小猪 321总结 325第18章 一些通用解题模板 32618.1 二分法 32618.2 回溯法 32918.3 并查集 33018.4 BFS 33318.5 滑动窗口 33418.6 数学 336总结 339第19章 融会贯通 34019.1 循环移位问题 34019.2 编辑距离 34919.3 第k问题 357总结 369第20章 解题技巧和面试技巧 37020.1 看限制条件 37120.2 预处理 38020.3 不要忽视暴力法 38820.4 降维与状态压缩 39520.5 猜测tag 402总结 403 上一篇: 移动互联网之路——Sketch+Xcode移动UI与交互动效设计从入门到精通 下一篇: 计算思维与算法设计基础 肖晓霞 2020年版