欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

算法通关之路 路志鹏 2021年版

收藏
  • 大小:262.89 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
算法通关之路
作者:路志鹏
出版时间: 2021年版
内容简介
  这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法难关。本书通过算法题解的形式讲解了基本数据结构和算法知识,包括分治、贪心、回溯和动态规划等算法思想,二分查找、深度优先遍历和广度优先遍历、双指针、滑动窗口、位运算、并查集等解题思路和技巧,以及通用解题“套路”和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。本书适合数据结构和算法知识的学习者,希望学习如何解算法题或正在刷题的计算机行业从业者,也可作为大、中专院校相关专业的辅导参考书。
目录
第1章 预备知识 1
1.1 学习算法需要数学知识吗 1
1.2 基础数据结构和算法 2
1.3 复杂度分析 3
总结 12
第2章 数学之美 14
2.1 两数之和 14
2.2 三数之和 18
2.3 四数之和 19
2.4 四数相加II 22
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
6.4 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章 双指针 164
9.1 头/尾指针 166
9.2 快慢指针 171
总结 182
第10章 动态规划 183
10.1 爬楼梯 186
10.2 打家劫舍系列 188
10.3 不同路径 195
10.4 零钱兑换 199
总结 204
第11章 滑动窗口 205
11.1 滑动窗口值 206
11.2 小覆盖子串 209
11.3 替换后的长重复字符 213
11.4 字符串的排列 216
总结 219
第12章 博弈问题 220
12.1 石子游戏 220
12.2 预测赢家 225
12.3 Nim 游戏 230
12.4 猜数字大小II 233
总结 236
第13章 股票问题 237
13.1 买卖股票的时机 237
13.2 买卖股票的时机II 240
13.3 买卖股票的时机(含手续费) 242
13.4 买卖股票的时机(含冷冻期) 247
13.5 买卖股票的时机IV 249
总结 253
第14章 分治法 254
14.1 合并k个排序链表 255
14.2 数组中的第k个元素 260
14.3 搜索二维矩阵 II 265
总结 274
第15章 贪心法 276
15.1 分发饼干 276
15.2 跳跃游戏 278
15.3 任务调度器 282
15.4 分发糖果 284
15.5 无重叠区间 287
总结 289
第16章 回溯法 290
16.1 组合总和 I 290
16.2 组合总和 II 296
16.3 子集 299
16.4 全排列 300
16.5 解数独 301
总结 304
第17章 一些有趣的题目 306
17.1 求众数 II 306
17.2 柱状图中的矩形 309
17.3 一周中的第几天 314
17.4 水壶问题 317
17.5 可怜的小猪 321
总结 325
第18章 一些通用解题模板 326
18.1 二分法 326
18.2 回溯法 329
18.3 并查集 330
18.4 BFS 333
18.5 滑动窗口 334
18.6 数学 336
总结 339
第19章 融会贯通 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 猜测tag 402
总结 403
下载地址