程序员面试金典(第六版)

从3月16日到8月2日,终于刷完了所有的109题。之前的博客太多太分散,现在都整理在这里。

博客内容来源于英文原版中的题目和解法,在刷题的过程中,基本将书上介绍的所有解法都在leetcode上进行了测试,除了少量代码会超时外,其余均可提交通过。

文章目录

  • 第17章 困难题
  • 第16章 中等题
  • 第10章 排序和搜索
  • 第8章 递归和动态规划
  • 第5章 位操作
  • 第4章 图和树
  • 第3章 栈和队列
  • 第2章 链表
  • 第1章 数组和字符串

第17章 困难题

17.26 稀疏相似度
17.25 单词矩阵
17.24 最大子矩阵
17.23 最大黑方阵
17.22 单词转换
17.21 直方图的水量
17.20 连续中值
17.19 消失的两个数字
17.18 最短超串
17.17 多次搜索
17.16 按摩师
17.15 最长单词
17.14 最小K个数
17.13 恢复空格
17.12 BiNode
17.11 单词距离
17.10 主要元素
17.9 第k个数
17.8 马戏团人塔
17.7 婴儿名字
17.6 2出现的次数
17.5 字母与数字
17.4 消失的数字
17.1 不用加号的加法

第16章 中等题

16.26 计算器
16.25 LRU缓存
16.24 数对和
16.22 兰顿蚂蚁
16.21 交换和
16.20 T9键盘
16.19 水域大小
16.18 模式匹配
16.17 连续数列
16.16 部分排序
16.15 珠玑妙算
16.14 最佳直线
16.13 平分正方形
16.11 跳水板
16.10 生存人数
16.9 运算
16.8 整数的英语表示
16.7 最大数值
16.6 最小差
16.5 阶乘尾数
16.4 井字游戏
16.3交点
16.2 单词频率
16.1 交换数字

第10章 排序和搜索

10.11 峰与谷
10.10 数字流的秩
10.9 排序矩阵查找
10.5 稀疏数组搜索
10.3 搜索旋转数组
10.2 变位词组
10.1 合并排序的数组

第8章 递归和动态规划

8.14 布尔运算
8.13 堆箱子
8.12 八皇后
8.11 硬币
8.10 颜色填充
8.9 括号
8.8 有重复字符串的排列组合
8.7 无重复字符串的排列组合
8.6 汉诺塔问题
8.5 递归乘法
8.4 幂集
8.3 魔术索引
8.2 迷路的机器人
8.1 三步问题

第5章 位操作

5.8 绘制直线
5.7 配对交换
5.6 整数转换
5.4 下一个数
5.3 翻转数位
5.2 二进制数转字符串
5.1 插入

第4章 图和树

4.12 求和路径
4.10 检查子树
4.9 二叉搜索树序列
4.8 首个共同祖先
4.6 后继者
4.5 合法二叉搜索树
4.4 检查平衡性
4.3 特定深度节点链表
4.2 最小高度树
4.1 节点间通路

第3章 栈和队列

3.6 动物收容所
3.5 栈排序
3.4 化栈为队
3.3 堆盘子
3.2 栈的最小值
3.1 三合一

第2章 链表

2.8 环路检测
2.7 链表相交
2.6 回文链表
2.5 链表求和
2.4 分割链表
2.3 删除中间节点
2.2 返回倒数第k个节点
2.1 移除重复节点

第1章 数组和字符串

1.9 字符串轮转
1.8 零矩阵
1.7 旋转矩阵
1.6 字符串压缩
1.5 一次编辑
1.4 回文排列
1.3 URL化
1.2 判定是否互为字符重排
1.1 判定字符是否唯一

你可能感兴趣的:(《程序员面试金典》)