本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
列表所有题解均由 开源社区 Doocs 贡献者提供,正在完善中,欢迎贡献你的题解!
快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。
题号 | 题解 | 标签 | 难度 |
---|---|---|---|
01.01 | 判定字符是否唯一 | 数组 |
简单 |
01.02 | 判定是否互为字符重排 | 数组 ,字符串 |
简单 |
01.03 | URL 化 | 字符串 |
简单 |
01.04 | 回文排列 | 哈希表 ,字符串 |
简单 |
01.05 | 一次编辑 | 字符串 ,动态规划 |
中等 |
01.06 | 字符串压缩 | 字符串 |
简单 |
01.07 | 旋转矩阵 | 数组 |
中等 |
01.08 | 零矩阵 | 数组 |
中等 |
01.09 | 字符串轮转 | 字符串 |
简单 |
02.01 | 移除重复节点 | 链表 |
简单 |
02.02 | 返回倒数第 k 个节点 | 链表 ,双指针 |
简单 |
02.03 | 删除中间节点 | 链表 |
简单 |
02.04 | 分割链表 | 链表 ,双指针 |
中等 |
02.05 | 链表求和 | 链表 ,数学 |
中等 |
02.06 | 回文链表 | 链表 |
简单 |
02.07 | 链表相交 | 链表 |
简单 |
02.08 | 环路检测 | 链表 |
中等 |
03.01 | 三合一 | 设计 |
简单 |
03.02 | 栈的最小值 | 栈 |
简单 |
03.03 | 堆盘子 | 设计 |
中等 |
03.04 | 化栈为队 | 栈 |
简单 |
03.05 | 栈排序 | 设计 |
中等 |
03.06 | 动物收容所 | 设计 |
简单 |
04.01 | 节点间通路 | 图 |
中等 |
04.02 | 最小高度树 | 树 ,深度优先搜索 |
简单 |
04.03 | 特定深度节点链表 | 树 ,广度优先搜索 |
中等 |
04.04 | 检查平衡性 | 树 ,深度优先搜索 |
简单 |
04.05 | 合法二叉搜索树 | 树 ,深度优先搜索 |
中等 |
04.06 | 后继者 | 树 ,深度优先搜索 |
中等 |
04.08 | 首个共同祖先 | 树 |
中等 |
04.09 | 二叉搜索树序列 | 树 ,动态规划 |
困难 |
04.10 | 检查子树 | 树 |
中等 |
04.12 | 求和路径 | 树 ,深度优先搜索 |
中等 |
05.01 | 插入 | 位运算 |
简单 |
05.02 | 二进制数转字符串 | 字符串 |
中等 |
05.03 | 翻转数位 | 位运算 |
简单 |
05.04 | 下一个数 | 位运算 |
中等 |
05.06 | 整数转换 | 位运算 |
简单 |
05.07 | 配对交换 | 位运算 |
简单 |
05.08 | 绘制直线 | 数组 |
中等 |
08.01 | 三步问题 | 动态规划 |
简单 |
08.02 | 迷路的机器人 | 动态规划 |
中等 |
08.03 | 魔术索引 | 数组 ,二分查找 |
简单 |
08.04 | 幂集 | 位运算 ,数组 ,回溯算法 |
中等 |
08.05 | 递归乘法 | 递归 |
中等 |
08.06 | 汉诺塔问题 | 递归 |
简单 |
08.07 | 无重复字符串的排列组合 | 回溯算法 |
中等 |
08.08 | 有重复字符串的排列组合 | 回溯算法 |
中等 |
08.09 | 括号 | 字符串 ,回溯算法 |
中等 |
08.10 | 颜色填充 | 深度优先搜索 |
简单 |
08.11 | 硬币 | 动态规划 |
中等 |
08.12 | 八皇后 | 回溯算法 |
困难 |
08.13 | 堆箱子 | 动态规划 ,回溯算法 |
困难 |
08.14 | 布尔运算 | 栈 ,字符串 |
中等 |
10.01 | 合并排序的数组 | 数组 ,双指针 |
简单 |
10.02 | 变位词组 | 哈希表 ,字符串 |
中等 |
10.03 | 搜索旋转数组 | 数组 ,二分查找 |
中等 |
10.05 | 稀疏数组搜索 | 二分查找 |
简单 |
10.09 | 排序矩阵查找 | 双指针 ,二分查找 ,分治算法 |
中等 |
10.10 | 数字流的秩 | 中等 | |
10.11 | 峰与谷 | 中等 | |
16.01 | 交换数字 | 位运算 ,数学 |
中等 |
16.02 | 单词频率 | 设计 ,哈希表 |
中等 |
16.03 | 交点 | 几何 ,数学 |
困难 |
16.04 | 井字游戏 | 数组 |
中等 |
16.05 | 阶乘尾数 | 数学 |
简单 |
16.06 | 最小差 | 数组 ,双指针 |
中等 |
16.07 | 最大数值 | 位运算 ,数学 |
简单 |
16.08 | 整数的英语表示 | 数学 ,字符串 |
困难 |
16.09 | 运算 | 设计 |
中等 |
16.10 | 生存人数 | 数组 |
中等 |
16.11 | 跳水板 | 递归 ,记忆化 |
简单 |
16.13 | 平分正方形 | 几何 |
中等 |
16.14 | 最佳直线 | 几何 ,哈希表 |
中等 |
16.15 | 珠玑妙算 | 数组 |
简单 |
16.16 | 部分排序 | 排序 ,数组 |
中等 |
16.17 | 连续数列 | 数组 ,分治算法 ,动态规划 |
简单 |
16.18 | 模式匹配 | 字符串 |
中等 |
16.19 | 水域大小 | 深度优先搜索 ,广度优先搜索 |
中等 |
16.20 | T9 键盘 | 数组 |
中等 |
16.21 | 交换和 | 排序 ,数组 |
中等 |
16.22 | 兰顿蚂蚁 | 数组 |
中等 |
16.24 | 数对和 | 数组 ,哈希表 |
中等 |
16.25 | LRU 缓存 | 设计 |
中等 |
16.26 | 计算器 | 字符串 |
中等 |
17.01 | 不用加号的加法 | 位运算 |
简单 |
17.04 | 消失的数字 | 位运算 ,数组 ,数学 |
简单 |
17.05 | 字母与数字 | 数组 |
中等 |
17.06 | 2 出现的次数 | 数学 ,动态规划 |
中等 |
17.07 | 婴儿名字 | 深度优先搜索 ,广度优先搜索 ,并查集 |
中等 |
17.08 | 马戏团人塔 | 排序 ,二分查找 ,动态规划 |
中等 |
17.09 | 第 k 个数 | 堆 ,队列 ,数学 |
中等 |
17.10 | 主要元素 | 位运算 ,数组 ,分治算法 |
简单 |
17.11 | 单词距离 | 双指针 ,字符串 |
中等 |
17.12 | BiNode | 树 ,二叉搜索树 ,递归 |
简单 |
17.13 | 恢复空格 | 记忆化 ,字符串 |
中等 |
17.14 | 最小 K 个数 | 堆 ,排序 ,分治算法 |
中等 |
17.15 | 最长单词 | 字符串 |
中等 |
17.16 | 按摩师 | 动态规划 |
简单 |
17.17 | 多次搜索 | 字典树 ,字符串 |
中等 |
17.18 | 最短超串 | None |
中等 |
17.19 | 消失的两个数字 | 数组 ,数学 |
困难 |
17.20 | 连续中值 | 堆 |
困难 |
17.21 | 直方图的水量 | 栈 ,数组 ,双指针 |
困难 |
17.22 | 单词转换 | 深度优先搜索 ,广度优先搜索 ,数组 ,字符串 |
中等 |
17.23 | 最大黑方阵 | 动态规划 |
中等 |
17.24 | 最大子矩阵 | 动态规划 |
困难 |
17.25 | 单词矩阵 | 困难 | |
17.26 | 稀疏相似度 | 哈希表 |
困难 |
著作权归 GitHub 开源社区 Doocs 所有,商业转载请联系 @yanglbme 获得授权,非商业转载请注明出处。