- 算法题无从下手:系统梳理LeetCode经典题目及背后知识体系,由浅入深带领读者理解算法知识。
- 解题没有套路:总结贪心、递归、回溯、动态规划等算法思想和解题模板,掌握通关技巧。
- 数据结构基础薄弱:讲解基本数据结构和基础数学知识,为算法解题打下坚实基础。
- 面试算法题准备不足:涵盖面试高频题型和解题技巧,帮助读者从容应对技术面试。
- 只会一种语言解题:每段代码都给出多种语言实现,方便不同技术栈的读者学习参考。
★★★
中级
入门初级中级进阶高级
- 准备技术面试的求职者:需要系统刷题、掌握算法解题套路,从容应对大厂面试。
- 计算机专业学生:正在学习数据结构与算法课程,需要配套题解加深理解。
- LeetCode刷题者:已经有一定刷题量,但缺乏系统总结,需要建立完整的算法知识体系。
- 算法竞赛参赛者:需要掌握多种算法思想和解题模板,提升竞赛解题能力。
- 转行程序员的职场人:需要快速补齐算法和数据结构知识,通过面试进入互联网行业。
- 先看预备知识:第1章的复杂度分析和基础数据结构是后续所有章节的基础,务必先掌握。
- 按专题突破:每个章节聚焦一个算法专题,建议按顺序逐个攻克,不要跳跃。
- 先思考再看题解:每道题先自己思考尝试,再看书中的解题思路和代码实现。
- 多语言对照:选择自己熟悉的语言阅读代码,同时参考其他语言实现拓宽思路。
- 重点掌握模板:第18章的通用解题模板要反复练习,做到融会贯通。
- 模拟面试:第20章的解题技巧和面试技巧要在模拟面试中实际运用。
- 算法思想:掌握贪心、递归、回溯、动态规划、分治等核心算法思想。
- 数据结构:熟练运用栈、队列、树、图、堆、哈希表等基本数据结构解题。
- 解题技巧:掌握双指针、滑动窗口、位运算、二分法等高效解题技巧。
- 通用模板:建立二分法、回溯法、并查集、BFS、滑动窗口等通用解题模板。
- 面试能力:学会看条件、预处理、降维与状态压缩等面试实战技巧。
- 多语言实现:通过多种语言的代码实现,加深对算法逻辑的理解和迁移能力。
📖 书籍简介
作 者:路志鹏等 著
定 价:99
出 版 社:电子工业出版社
出版日期:2021年08月01日
页 数:420
装 帧:平装
ISBN:9787121412783
"《算法通关之路》对力扣(LeetCode)中的经典题目及背后的知识体系进行系统的梳理,依次展开讲解,由浅入深。
带领读者理解算法知识、总结解题“套路”、掌握通关技巧。
为了方便读者学习、参考,书中每一段代码都给出了多种语言的实现。"
●章 预备知识1
1.1 学习算法需要数学知识吗1
1.2 基础数据结构和算法2
1.3 复杂度分析3
总结12
第2章 数学之美14
2.1 两数之和14
2.2 三数之和18
2.3 四数之和19
2.4 四数相加II22
2.5 接近的三数之和24
2.6 大子序列和26
2.7 大数31
2.8 分数到小数33
2.9 大整除子集35
2.10 质数排列37
总结39
第3章 回文的艺术41
3.1 验证回文字符串Ⅱ41
3.2 回文链表44
3.3 回文数47
3.4 长回文子串48
3.5 长回文子序列50
3.6 回文数53
总结56
第4章 游戏之乐58
4.1 外观数列(报数)58
4.2 24点61
4.3 数独游戏67
4.4 生命游戏75
总结78
第5章 深度优先遍历和广度优先遍历79
5.1 深度优先遍历79
5.2 广度优先遍历81
5.3 路径和系列问题82
5.4 岛屿问题91
总结100
第6章 二分法102
6.1 二分查找102
6.2 寻找旋转排序数组中的小值105
6.3 爱吃香蕉的珂珂107
x的平方根109
6.5 寻找峰值112
6.6 分割数组的大值114
总结118
第7章 位运算119
7.1 位1的个数120
7.2 实现加法122
7.3 整数替换124
7.4 只出现一次的数字127
总结133
第8章 设计135
8.1 小栈135
8.2 实现 Trie(前缀树)142
8.3 LRU 缓存机制146
8.4 LFU 缓存149
8.5 设计跳表155
总结163
第9章 双指针1
9.1 头/尾指针166
9.2 快慢指针171
总结182
0章 动态规划183
10.1 爬楼梯186
10.2 打家劫舍系列188
10.3 不同路径195
10.4 零钱兑换199
总结204
1章 滑动窗口205
11.1 滑动窗口大值206
11.2 小覆盖子串209
11.3 替换后的长重复字符213
11.4 字符串的排列216
总结219
2章 博弈问题220
12.1 石子游戏220
12.2 预测赢家225
12.3 Nim 游戏230
12.4 猜数字大小II233
总结236
3章 股票问题237
13.1 买卖股票的佳时机237
13.2 买卖股票的佳时机II240
13.3 买卖股票的佳时机(含手续费)242
13.4 买卖股票的佳时机(含冷冻期)247
13.5 买卖股票的佳时机IV249
总结253
4章 分治法254
14.1 合并k个排序链表255
14.2 数组中的第k个大元素260
14.3 搜索二维矩阵 II265
总结274
5章 贪心法276
15.1 分发饼干276
15.2 跳跃游戏278
15.3 任务调度器282
15.4 分发糖果284
15.5 无重叠区间287
总结289
6章 回溯法290
16.1 组合总和 I290
16.2 组合总和 II296
16.3 子集299
1 全排列300
16.5 解数独301
总结304
7章 一些有趣的题目306
17.1 求众数 II306
17.2 柱状图中大的矩形309
17.3 一周中的第几天314
17.4 水壶问题317
17.5 可怜的小猪321
总结325
8章 一些通用解题模板326
18.1 二分法326
18.2 回溯法329
18.3 并查集330
18.4 BFS333
18.5 滑动窗口334
18.6 数学336
总结339
9章 融会贯通340
19.1 循环移位问题340
19.2 编辑距离349
19.3 第k问题357
总结369
第20章 解题技巧和面试技巧370
20.1 看条件371
20.2 预处理380
20.3 不要忽视暴力法388
20.4 降维与状态压缩395
20.5 猜测tag402
总结403
这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的推荐知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法题目的难关。本书通过算法题解的形式讲解了基本数据结构和基础数学知识,包括贪心、递归、回溯和动态规划等算法思想,深度优先和广度优先、双指针、滑动窗口、位运算等解题技巧,以及通用解题“套路”和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。
📑 章节目录
- 预备知识:数学基础、数据结构与复杂度分析
- 数学之美:两数之和、三数之和与大数问题
- 回文的艺术:回文字符串、回文链表与最长回文子串
- 游戏之乐:数独、生命游戏与24点
- 深度优先遍历和广度优先遍历
- 二分法:二分查找及其经典变体
- 位运算:位操作技巧与经典题目
- 设计:最小栈、Trie、LRU与LFU缓存
- 双指针:头尾指针与快慢指针技巧
- 动态规划:爬楼梯、打家劫舍与零钱兑换
- 滑动窗口与博弈问题
- 股票问题系列与分治法
- 贪心法与回溯法
- 通用解题模板与融会贯通
- 解题技巧和面试技巧