作者 |
路志鹏 |
丛书名 |
出版社 |
电子工业出版社 |
ISBN |
9787121412783 |
简要 |
简介 |
内容简介书籍计算机书籍 这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的必备知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法题目的难关。本书通过算法题解的形式讲解了基本数据结构和基础数学知识,包括贪心、递归、回溯和动态规划等算法思想,深度优先和广度优先、双指针、滑动窗口、位运算等解题技巧,以及通用解题“套路”和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。 |
目录 |
第1章 预备知识\t1 1.1 学习算法需要数学知识吗\t1 1.2 基础数据结构和算法\t2 1.3 复杂度分析\t3 总结\t12 第2章 数学之美\t14 2.1 两数之和\t14 2.2 三数之和\t18 2.3 四数之和\t19 2.4 四数相加II\t22 2.5 最接近的三数之和\t24 2.6 最大子序列和\t26 2.7 最大数\t31 2.8 分数到小数\t33 2.9 最大整除子集\t35 2.10 质数排列\t37 总结\t39 第3章 回文的艺术\t41 3.1 验证回文字符串Ⅱ\t41 3.2 回文链表\t44 3.3 回文数\t47 3.4 最长回文子串\t48 3.5 最长回文子序列\t50 3.6 超级回文数\t53 总结\t56 第4章 游戏之乐\t58 4.1 外观数列(报数)\t58 4.2 24点\t61 4.3 数独游戏\t67 4.4 生命游戏\t75 总结\t78 第5章 深度优先遍历和广度优先遍历\t79 5.1 深度优先遍历\t79 5.2 广度优先遍历\t81 5.3 路径和系列问题\t82 5.4 岛屿问题\t91 总结\t100 第6章 二分法\t102 6.1 二分查找\t102 6.2 寻找旋转排序数组中的最小值\t105 6.3 爱吃香蕉的珂珂\t107 6.4 x的平方根\t109 6.5 寻找峰值\t112 6.6 分割数组的最大值\t114 总结\t118 第7章 位运算\t119 7.1 位1的个数\t120 7.2 实现加法\t122 7.3 整数替换\t124 7.4 只出现一次的数字\t127 总结\t133 第8章 设计\t135 8.1 最小栈\t135 8.2 实现 Trie(前缀树)\t142 8.3 LRU 缓存机制\t146 8.4 LFU 缓存\t149 8.5 设计跳表\t155 总结\t163 第9章 双指针\t164 9.1 头/尾指针\t166 9.2 快慢指针\t171 总结\t182 第10章 动态规划\t183 10.1 爬楼梯\t186 10.2 打家劫舍系列\t188 10.3 不同路径\t195 10.4 零钱兑换\t199 总结\t204 第11章 滑动窗口\t205 11.1 滑动窗口最大值\t206 11.2 最小覆盖子串\t209 11.3 替换后的最长重复字符\t213 11.4 字符串的排列\t216 总结\t219 第12章 博弈问题\t220 12.1 石子游戏\t220 12.2 预测赢家\t225 12.3 Nim 游戏\t230 12.4 猜数字大小II\t233 总结\t236 第13章 股票问题\t237 13.1 买卖股票的最佳时机\t237 13.2 买卖股票的最佳时机II\t240 13.3 买卖股票的最佳时机(含手续费)\t242 13.4 买卖股票的最佳时机(含冷冻期)\t247 13.5 买卖股票的最佳时机IV\t249 总结\t253 第14章 分治法\t254 14.1 合并k个排序链表\t255 14.2 数组中的第k个最大元素\t260 14.3 搜索二维矩阵 II\t265 总结\t274 第15章 贪心法\t276 15.1 分发饼干\t276 15.2 跳跃游戏\t278 15.3 任务调度器\t282 15.4 分发糖果\t284 15.5 无重叠区间\t287 总结\t289 第16章 回溯法\t290 16.1 组合总和 I\t290 16.2 组合总和 II\t296 16.3 子集\t299 16.4 全排列\t300 16.5 解数独\t301 总结\t304 第17章 一些有趣的题目\t306 17.1 求众数 II\t306 17.2 柱状图中最大的矩形\t309 17.3 一周中的第几天\t314 17.4 水壶问题\t317 17.5 可怜的小猪\t321 总结\t325 第18章 一些通用解题模板\t326 18.1 二分法\t326 18.2 回溯法\t329 18.3 并查集\t330 18.4 BFS\t333 18.5 滑动窗口\t334 18.6 数学\t336 总结\t339 第19章 融会贯通\t340 19.1 循环移位问题\t340 19.2 编辑距离\t349 19.3 第k问题\t357 总结\t369 第20章 解题技巧和面试技巧\t370 20.1 看限制条件\t371 20.2 预处理\t380 20.3 不要忽视暴力法\t388 20.4 降维与状态压缩\t395 20.5 猜测tag\t402 总结\t403 |