题目来源于LeetCode上的《程序员面试金典》,这里做一个目录方便大家查找。另外有本人的LeetCode解题目录、《剑指Offer》解题目录、LintCode代码能力测试CAT 解题目录可点击链接查看。updated on 2020.4.17
不懂的概念可以参考《数据结构与算法之美》学习汇总
已解决 109/109 - 简单 37 中等 61 困难 11(更新完毕)
觉得不错,一定要点赞支持下哦!❤❤❤
已解题目 |
---|
程序员面试金典 - 面试题 01.01. 判定字符是否唯一(位运算,牛) |
程序员面试金典 - 面试题 01.02. 判定是否互为字符重排(哈希map) |
程序员面试金典 - 面试题 01.03. URL化(字符串) |
程序员面试金典 - 面试题 01.04. 回文排列(哈希map) |
程序员面试金典 - 面试题 01.05. 一次编辑(编辑距离,DP) |
程序员面试金典 - 面试题 01.06. 字符串压缩(字符串) |
程序员面试金典 - 面试题 01.07. 旋转矩阵(一次遍历+位运算) |
程序员面试金典 - 面试题 01.08. 零矩阵 |
程序员面试金典 - 面试题 01.09. 字符串轮转 |
程序员面试金典 - 面试题 02.01. 移除重复节点(哈希set) |
程序员面试金典 - 面试题 02.02. 返回倒数第 k 个节点(快慢指针) |
程序员面试金典 - 面试题 02.03. 删除中间节点 |
程序员面试金典 - 面试题 02.04. 分割链表 |
程序员面试金典 - 面试题 02.05. 链表求和 |
程序员面试金典 - 面试题 02.06. 回文链表(快慢指针+链表反转) |
程序员面试金典 - 面试题 02.07. 链表相交 |
程序员面试金典 - 面试题 02.08. 环路检测(快慢指针) |
程序员面试金典 - 面试题 03.01. 三合一(数组栈) |
程序员面试金典 - 面试题 03.02. 栈的最小值 |
程序员面试金典 - 面试题 03.03. 堆盘子 (vector(stack)) |
程序员面试金典 - 面试题 03.04. 化栈为队(两个栈实现队列) |
程序员面试金典 - 面试题 03.05. 栈排序(两栈) |
程序员面试金典 - 面试题 03.06. 动物收容所(队列) |
程序员面试金典 - 面试题 04.01. 节点间通路(图的遍历) |
程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历) |
程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS) |
程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度) |
程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历) |
程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历) |
程序员面试金典 - 面试题 04.08. 首个共同祖先** |
程序员面试金典 - 面试题 04.09. 二叉搜索树序列(双端队列+回溯)** |
程序员面试金典 - 面试题 04.10. 检查子树(双重递归) |
程序员面试金典 - 面试题 04.12. 求和路径(二叉树递归) |
程序员面试金典 - 面试题 05.01. 插入(位运算) |
程序员面试金典 - 面试题 05.02. 二进制数转字符串(浮点型 转 二进制小数,乘2取整) |
程序员面试金典 - 面试题 05.03. 翻转数位(位运算) |
程序员面试金典 - 面试题 05.04. 下一个数(线性扫描) |
程序员面试金典 - 面试题 05.06. 整数转换(位运算) |
程序员面试金典 - 面试题 05.07. 配对交换(位运算) |
程序员面试金典 - 面试题 05.08. 绘制直线(位运算) |
程序员面试金典 - 面试题 08.01. 三步问题(DP) |
程序员面试金典 - 面试题 08.02. 迷路的机器人(DFS/动态规划) |
程序员面试金典 - 面试题 08.03. 魔术索引(二分递归) |
程序员面试金典 - 面试题 08.04. 幂集(回溯/循环/位运算) |
程序员面试金典 - 面试题 08.05. 递归乘法(位运算) |
程序员面试金典 - 面试题 08.06. 汉诺塔问题(递归) |
程序员面试金典 - 面试题 08.07. 无重复字符串的排列组合(回溯) |
程序员面试金典 - 面试题 08.08. 有重复字符串的排列组合(全排列回溯+剪枝) |
程序员面试金典 - 面试题 08.09. 括号(回溯) |
程序员面试金典 - 面试题 08.10. 颜色填充(BFS/DFS) |
程序员面试金典 - 面试题 08.11. 硬币(背包DP) |
程序员面试金典 - 面试题 08.12. 八皇后(回溯) |
程序员面试金典 - 面试题 08.13. 堆箱子(DP) |
程序员面试金典 - 面试题 08.14. 布尔运算(区间动态规划) |
程序员面试金典 - 面试题 10.01. 合并排序的数组 |
程序员面试金典 - 面试题 10.02. 变位词组(哈希map) |
程序员面试金典 - 面试题 10.03. 搜索旋转数组(二分查找) |
程序员面试金典 - 面试题 10.05. 稀疏数组搜索(二分查找) |
程序员面试金典 - 面试题 10.09. 排序矩阵查找 |
程序员面试金典 - 面试题 10.10. 数字流的秩(map/树状数组) |
程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序) |
程序员面试金典 - 面试题 16.01. 交换数字(位运算swap) |
程序员面试金典 - 面试题 16.02. 单词频率(哈希表/Trie树) |
程序员面试金典 - 面试题 16.03. 交点(数学) |
程序员面试金典 - 面试题 16.04. 井字游戏(计数) |
程序员面试金典 - 面试题 16.05. 阶乘尾数(5的因子) |
程序员面试金典 - 面试题 16.06. 最小差(排序+双指针) |
程序员面试金典 - 面试题 16.07. 最大数值(位运算求max) |
程序员面试金典 - 面试题 16.08. 整数的英语表示 |
程序员面试金典 - 面试题 16.09. 运算(只用+法做乘除) |
程序员面试金典 - 面试题 16.10. 生存人数(自定义优先队列/双指针) |
程序员面试金典 - 面试题 16.11. 跳水板(数学) |
程序员面试金典 - 面试题 16.13. 平分正方形(数学) |
程序员面试金典 - 面试题 16.14. 最佳直线(哈希map+set) |
程序员面试金典 - 面试题 16.15. 珠玑妙算(map计数) |
程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序) |
程序员面试金典 - 面试题 16.17. 连续数列(DP/分治) |
程序员面试金典 - 面试题 16.18. 模式匹配(逻辑题) |
程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS) |
程序员面试金典 - 面试题 16.20. T9键盘(数组) |
程序员面试金典 - 面试题 16.21. 交换和(哈希set) |
程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟) |
程序员面试金典 - 面试题 16.24. 数对和(双指针/哈希map) |
程序员面试金典 - 面试题 16.25. LRU缓存(哈希双链表) |
程序员面试金典 - 面试题 16.26. 计算器(栈) |
程序员面试金典 - 面试题 17.01. 不用加号的加法(位运算) |
程序员面试金典 - 面试题 17.04. 消失的数字(数学/位运算) |
程序员面试金典 - 面试题 17.05. 字母与数字(哈希map+思维转换) |
程序员面试金典 - 面试题 17.06. 2出现的次数(找递推规律) |
程序员面试金典 - 面试题 17.07. 婴儿名字(并查集) |
程序员面试金典 - 面试题 17.08. 马戏团人塔(最长上升子序 DP/二分查找) |
程序员面试金典 - 面试题 17.09. 第 k 个数(set优先队列/DP) |
程序员面试金典 - 面试题 17.10. 主要元素(摩尔投票) |
程序员面试金典 - 面试题 17.11. 单词距离(multimap平衡二叉搜索树) |
程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历) |
程序员面试金典 - 面试题 17.13. 恢复空格(DP+Trie树) |
程序员面试金典 - 面试题 17.14. 最小K个数(快排划分O(n)) |
程序员面试金典 - 面试题 17.15. 最长单词(排序+递归) |
程序员面试金典 - 面试题 17.16. 理发师(动态规划DP) |
程序员面试金典 - 面试题 17.17. 多次搜索(Trie树) |
程序员面试金典 - 面试题 17.18. 最短超串(双指针+哈希) |
程序员面试金典 - 面试题 17.19. 消失的两个数字(数学/位运算) |
程序员面试金典 - 面试题 17.20. 连续中值(大小堆) |
程序员面试金典 - 面试题 17.21. 直方图的水量(双向扫描、双指针、单调递减栈) |
程序员面试金典 - 面试题 17.22. 单词转换(BFS) |
程序员面试金典 - 面试题 17.23. 最大黑方阵(DP) |
程序员面试金典 - 面试题 17.24. 最大子矩阵(转成一维最大子序和 DP) |
程序员面试金典 - 面试题 17.25. 单词矩阵(Trie树+DFS回溯,hard) |
程序员面试金典 - 面试题 17.26. 稀疏相似度(哈希map) |