程序员面试金典(109)
参考资料
- 本系统共109题
- lc专栏链接 https://leetcode.cn/problemset/lcci
- https://github.com/careercup/ctci
| No. | Title | Tag | 难度 | 完成情况 |
|---|---|---|---|---|
| 第1期 | ||||
| 0001 | 面试题01.01.判定字符是否唯一 | 数组 | Easy | 完成 |
| 0002 | 面试题01.02.判定是否互为字符重排 | 数组、字符串 | Easy | 完成 |
| 0003 | 面试题01.03.URL化 | 字符串 | Easy | 完成 |
| 0004 | 面试题01.04.回文排列 | 哈希表、字符串 | Easy | 完成 |
| 0005 | 面试题01.05.一次编辑 | 字符串、动态规划 | Medium | 完成 |
| 0006 | 面试题01.06.字符串压缩 | 字符串 | Easy | 完成 |
| 0007 | 面试题01.07.旋转矩阵 | 数组 | Medium | 完成 |
| 0008 | 面试题01.08.零矩阵 | 数组 | Medium | 完成 |
| 0009 | 面试题01.09.字符串轮转 | 字符串 | Easy | 完成 |
| 0010 | 面试题02.01.移除重复节点 | 链表 | Easy | 完成 |
| 第2期 | ||||
| 0011 | 面试题02.02.返回倒数第k个节点 | 链表、双指针 | Easy | 完成 |
| 0012 | 面试题02.03.删除中间节点 | 链表 | Easy | 完成 |
| 0013 | 面试题02.04.分割链表 | 链表、双指针 | Medium | 完成 |
| 0014 | 面试题02.05.链表求和 | 链表、数学 | Medium | 完成 |
| 0015 | 面试题02.06.回文链表 | 链表 | Easy | 完成 |
| 0016 | 面试题02.07.链表相交 | 链表 | Easy | 完成 |
| 0017 | 面试题02.08.环路检测 | 链表 | Medium | 完成 |
| 0018 | 面试题03.01.三合一 | 设计 | Easy | 完成 |
| 0019 | 面试题03.02.栈的最小值 | 栈 | Easy | 完成 |
| 0020 | 面试题03.03.堆盘子 | 设计 | Medium | 完成 |
| 第3期 | ||||
| 0021 | 面试题03.04.化栈为队 | 栈 | Easy | 完成 |
| 0022 | 面试题03.05.栈排序 | 设计 | Medium | 完成 |
| 0023 | 面试题03.06.动物收容所 | 设计 | Easy | 完成 |
| 0024 | 面试题04.01.节点间通路 | 图 | Medium | 完成 |
| 0025 | 面试题04.02.最小高度树 | 树、深度优先搜索 | Easy | 完成 |
| 0026 | 面试题04.03.特定深度节点链表 | 树、广度优先搜索 | Medium | 完成 |
| 0027 | 面试题04.04.检查平衡性 | 树、深度优先搜索 | Easy | 完成 |
| 0028 | 面试题04.05.合法二叉搜索树 | 树、深度优先搜索 | Medium | 完成 |
| 0029 | 面试题04.06.后继者 | 树、深度优先搜索 | Medium | 完成 |
| 0030 | 面试题04.08.首个共同祖先 | 树 | Medium | 完成 |
| 第4期 | ||||
| 0031 | 面试题04.09.二叉搜索树序列 | 树、动态规划 | Hard | 完成 |
| 0032 | 面试题04.10.检查子树 | 树 | Medium | 完成 |
| 0033 | 面试题04.12.求和路径 | 树、深度优先搜索 | Medium | 完成 |
| 0034 | 面试题05.01.插入 | 位运算 | Easy | 完成 |
| 0035 | 面试题05.02.二进制数转字符串 | 字符串 | Medium | 完成 |
| 0036 | 面试题05.03.翻转数位 | 位运算 | Easy | 完成 |
| 0037 | 面试题05.04.下一个数 | 位运算 | Medium | |
| 0038 | 面试题05.06.整数转换 | 位运算 | Easy | 完成 |
| 0039 | 面试题05.07.配对交换 | 位运算 | Easy | 完成 |
| 0040 | 面试题05.08.绘制直线 | 位运算、数组、数学 | Medium | 完成 |
| 第5期 | ||||
| 0041 | 面试题08.01.三步问题 | 动态规划 | Easy | 完成 |
| 0042 | 面试题08.02.迷路的机器人 | 动态规划 | Medium | 完成 |
| 0043 | 面试题08.03.魔术索引 | 数组、二分查找 | Easy | 完成 |
| 0044 | 面试题08.04.幂集 | 位运算、数组、回溯算法 | Medium | 完成 |
| 0045 | 面试题08.05.递归乘法 | 递归 | Medium | 完成 |
| 0046 | 面试题08.06.汉诺塔问题 | 递归 | Easy | 完成 |
| 0047 | 面试题08.07.无重复字符串的排列组合 | 回溯算法 | Medium | 完成 |
| 0048 | 面试题08.08.有重复字符串的排列组合 | 回溯算法 | Medium | 完成 |
| 0049 | 面试题08.09.括号 | 字符串、回溯算法 | Medium | 完成 |
| 0050 | 面试题08.10.颜色填充 | 深度优先搜索 | Easy | 完成 |
| 第6期 | ||||
| 0051 | 面试题08.11.硬币 | 动态规划 | Medium | 完成 |
| 0052 | 面试题08.12.八皇后 | 回溯算法 | Hard | 完成 |
| 0053 | 面试题08.13.堆箱子 | 动态规划、回溯算法 | Hard | 完成 |
| 0054 | 面试题08.14.布尔运算 | 栈、字符串 | Medium | 完成 |
| 0055 | 面试题10.01.合并排序的数组 | 数组、双指针 | Easy | 完成 |
| 0056 | 面试题10.02.变位词组 | 哈希表、字符串 | Medium | 完成 |
| 0057 | 面试题10.03.搜索旋转数组 | 数组、二分查找 | Medium | 完成 |
| 0058 | 面试题10.05.稀疏数组搜索 | 二分查找 | Easy | 完成 |
| 0059 | 面试题10.09.排序矩阵查找 | 双指针、二分查找、分治算法 | Medium | 完成 |
| 0060 | 面试题10.10.数字流的秩 | 设计、树状数组、二分查找、数据流 | Medium | 完成 |
| 第7期 | ||||
| 0061 | 面试题10.11.峰与谷 | Medium | 完成 | |
| 0062 | 面试题16.01.交换数字 | 位运算、数学 | Medium | 完成 |
| 0063 | 面试题16.02.单词频率 | 设计、哈希表 | Medium | 完成 |
| 0064 | 03 | |||
| 0065 | 面试题16.04.井字游戏 | 数组、计数、矩阵 | Medium | 完成 |
| 0066 | 面试题16.05.阶乘尾数 | 数学 | Easy | 完成 |
| 0067 | 面试题16.06.最小差 | 数组、双指针 | Medium | 完成 |
| 0068 | 面试题16.07.最大数值 | 位运算 | Easy | 完成 |
| 0069 | 面试题16.08.整数的英语表示 | 数学、字符串 | Hard | 完成 |
| 0070 | 09 | |||
| 第8期 | ||||
| 0071 | 面试题16.10.生存人数 | 数组 | Medium | 完成 |
| 0072 | 面试题16.11.跳水板 | 递归、记忆化 | Easy | 完成 |
| 0073 | 面试题16.13.平分正方形 | 几何、数学 | Medium | 完成 |
| 0074 | 面试题16.14.最佳直线 | 几何、数组、哈希表、数学 | Medium | 完成 |
| 0075 | 面试题16.15.珠玑妙算 | 数组 | Easy | 完成 |
| 0076 | 面试题16.16.部分排序 | 排序、数字 | Medium | 完成 |
| 0077 | 面试题16.17.连续数列 | 数组、分治算法、动态规划 | Easy | 完成 |
| 0078 | 面试题16.18.模式匹配 | 字符串 | Medium | 完成 |
| 0079 | 面试题16.19.水域大小 | 深度优先搜索、广度优先搜索 | Medium | 完成 |
| 0080 | 面试题16.20.T9键盘 | 数组 | Medium | 完成 |
| 第9期 | ||||
| 0081 | 面试题16.21.交换和 | 排序、数组 | Medium | 完成 |
| 0082 | 面试题16.22.兰顿蚂蚁 | 数组 | Medium | 完成 |
| 0083 | 面试题16.24.数对和 | 数组、哈希表 | Medium | 完成 |
| 0084 | 面试题16.25.LRU缓存 | 设计 | Medium | 完成 |
| 0085 | 面试题16.26.计算器 | 字符串 | Medium | 完成 |
| 0086 | 面试题17.01.不用加号的加法 | 位运算 | Easy | 完成 |
| 0087 | 面试题17.04.消失的数字 | 位运算、数组、数字 | Easy | 完成 |
| 0088 | 面试题17.05.字母与数字 | 数组 | Medium | 完成 |
| 0089 | 面试题17.06.2出现的次数 | 数学、动态规划 | Hard | 完成 |
| 0090 | 面试题17.07.婴儿名字 | 深度优先搜索、广度优先搜索、并茶查集 | Medium | 完成 |
| 第10期 | ||||
| 0091 | 面试题17.08.马戏团人塔 | 排序、二分查找、动态规划 | Medium | 完成 |
| 0092 | 面试题17.09.第k个数 | 堆、队列、数学 | Medium | 完成 |
| 0093 | 面试题17.10.主要元素 | 位运算、数组、分治算法 | Easy | 完成 |
| 0094 | 面试题17.11.单词距离 | 双指针、字符串 | Medium | 完成 |
| 0095 | 面试题17.12.BiNode | 树、二叉搜索树、递归 | Easy | 完成 |
| 0096 | 面试题17.13.恢复空格 | 字典树、数组、哈希表、字符串、 动态规划、哈希函数、滚动哈希 |
Medium | 完成 |
| 0097 | 面试题17.14.最小K个数 | 堆、排序、分治算法 | Medium | 完成 |
| 0098 | 面试题17.15.最长单词 | 字典树、数组、哈希表、字符串 | Medium | 完成 |
| 0099 | 面试题17.16.按摩师 | 动态规划 | Easy | 完成 |
| 0100 | 面试题17.17.多次搜索 | 字典树、数组、哈希表、字符串、 字符串匹配、滑动窗口 |
Medium | 完成 |
| 第11期 | ||||
| 0101 | 面试题17.18.最短超串 | Sliding Window | Medium | 完成 |
| 0102 | 面试题17.19.消失的两个数字 | 数组、数学 | Hard | 完成 |
| 0103 | 面试题17.20.连续中值 | 堆 | Hard | 完成 |
| 0104 | 面试题17.21.直方图的水量 | 栈、数组、双指针 | Hard | 完成 |
| 0105 | 面试题17.22.单词转换 | 深度优先搜索、广度优先搜索 | Medium | 完成 |
| 0106 | 面试题17.23.最大黑方阵 | 动态规划 | Medium | |
| 0107 | 面试题17.24.最大子矩阵 | 数组、动态规划、矩阵、前缀和 | Hard | 完成 |
| 0108 | ||||
| 0109 | 面试题17.26.稀疏相似度 | 哈希表 | Hard | 完成 |