代码拉取完成,页面将自动刷新
同步操作将从 doocs/leetcode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本书精选国内外名企高频面试题并深度拓展,系统地总结了程序员面试中必备的数据结构与算法知识,并以面试者及面试官的双向视角剖析考点与解题思路,适合所有正在准备面试的程序员阅读。
列表所有题解均由 开源社区 Doocs 贡献者提供,正在完善中,欢迎贡献你的题解!
快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
题号 | 题解 | 标签 | 难度 | 备注 |
---|---|---|---|---|
001 | 整数除法 | 数学 |
简单 | |
002 | 二进制加法 |
位运算 ,数学 ,字符串 ,模拟
|
简单 | |
003 | 前 n 个数字二进制中 1 的个数 |
位运算 ,动态规划
|
简单 | |
004 | 只出现一次的数字 |
位运算 ,数组
|
中等 | |
005 | 单词长度的最大乘积 |
位运算 ,数组 ,字符串
|
中等 | |
006 | 排序数组中两个数字之和 |
数组 ,双指针 ,二分查找
|
简单 | |
007 | 数组中和为 0 的三个数 |
数组 ,双指针 ,排序
|
中等 | |
008 | 和大于等于 target 的最短子数组 |
数组 ,二分查找 ,前缀和 ,滑动窗口
|
中等 | |
009 | 乘积小于 K 的子数组 |
数组 ,滑动窗口
|
中等 | |
010 | 和为 k 的子数组 |
数组 ,哈希表 ,前缀和
|
中等 | |
011 | 0 和 1 个数相同的子数组 |
数组 ,哈希表 ,前缀和
|
中等 | |
012 | 左右两边子数组的和相等 |
数组 ,前缀和
|
简单 | |
013 | 二维子矩阵的和 |
设计 ,数组 ,矩阵 ,前缀和
|
中等 | |
014 | 字符串中的变位词 |
哈希表 ,双指针 ,字符串 ,滑动窗口
|
中等 | |
015 | 字符串中的所有变位词 |
哈希表 ,字符串 ,滑动窗口
|
中等 | |
016 | 不含重复字符的最长子字符串 |
哈希表 ,字符串 ,滑动窗口
|
中等 | |
017 | 含有所有字符的最短字符串 |
哈希表 ,字符串 ,滑动窗口
|
困难 | |
018 | 有效的回文 |
双指针 ,字符串
|
简单 | |
019 | 最多删除一个字符得到回文 |
贪心 ,双指针 ,字符串
|
简单 | |
020 | 回文子字符串的个数 |
字符串 ,动态规划
|
中等 | |
021 | 删除链表的倒数第 n 个结点 |
链表 ,双指针
|
中等 | |
022 | 链表中环的入口节点 |
哈希表 ,链表 ,双指针
|
中等 | |
023 | 两个链表的第一个重合节点 |
哈希表 ,链表 ,双指针
|
简单 | |
024 | 反转链表 |
递归 ,链表
|
简单 | |
025 | 链表中的两数相加 |
栈 ,链表 ,数学
|
中等 | |
026 | 重排链表 |
栈 ,递归 ,链表 ,双指针
|
中等 | |
027 | 回文链表 |
栈 ,递归 ,链表 ,双指针
|
简单 | |
028 | 展平多级双向链表 |
深度优先搜索 ,链表 ,双向链表
|
中等 | |
029 | 排序的循环链表 | 链表 |
中等 | |
030 | 插入、删除和随机访问都是 O(1) 的容器 |
设计 ,数组 ,哈希表 ,数学 ,随机化
|
中等 | |
031 | 最近最少使用缓存 |
设计 ,哈希表 ,链表 ,双向链表
|
中等 | |
032 | 有效的变位词 |
哈希表 ,字符串 ,排序
|
简单 | |
033 | 变位词组 |
哈希表 ,字符串 ,排序
|
中等 | |
034 | 外星语言是否排序 |
数组 ,哈希表 ,字符串
|
简单 | |
035 | 最小时间差 |
数组 ,数学 ,字符串 ,排序
|
中等 | |
036 | 后缀表达式 |
栈 ,数组 ,数学
|
中等 | |
037 | 小行星碰撞 |
栈 ,数组
|
中等 | |
038 | 每日温度 |
栈 ,数组 ,单调栈
|
中等 | |
039 | 直方图最大矩形面积 |
栈 ,数组 ,单调栈
|
困难 | |
040 | 矩阵中最大的矩形 |
栈 ,数组 ,动态规划 ,矩阵 ,单调栈
|
困难 | |
041 | 滑动窗口的平均值 |
设计 ,队列 ,数组 ,数据流
|
简单 | |
042 | 最近请求次数 |
设计 ,队列 ,数据流
|
简单 | |
043 | 往完全二叉树添加节点 |
树 ,广度优先搜索 ,设计 ,二叉树
|
中等 | |
044 | 二叉树每层的最大值 |
树 ,深度优先搜索 ,广度优先搜索 ,二叉树
|
中等 | |
045 | 二叉树最底层最左边的值 |
树 ,深度优先搜索 ,广度优先搜索 ,二叉树
|
中等 | |
046 | 二叉树的右侧视图 |
树 ,深度优先搜索 ,广度优先搜索 ,二叉树
|
中等 | |
047 | 二叉树剪枝 |
树 ,深度优先搜索 ,二叉树
|
中等 | |
048 | 序列化与反序列化二叉树 |
树 ,深度优先搜索 ,广度优先搜索 ,设计 ,字符串 ,二叉树
|
困难 | |
049 | 从根节点到叶节点的路径数字之和 |
树 ,深度优先搜索 ,二叉树
|
中等 | |
050 | 向下的路径节点之和 |
树 ,深度优先搜索 ,二叉树
|
中等 | |
051 | 节点之和最大的路径 |
树 ,深度优先搜索 ,动态规划 ,二叉树
|
困难 | |
052 | 展平二叉搜索树 |
栈 ,树 ,深度优先搜索 ,二叉搜索树 ,二叉树
|
简单 | |
053 | 二叉搜索树中的中序后继 |
树 ,深度优先搜索 ,二叉搜索树 ,二叉树
|
中等 | |
054 | 所有大于等于节点的值之和 |
树 ,深度优先搜索 ,二叉搜索树 ,二叉树
|
中等 | |
055 | 二叉搜索树迭代器 |
栈 ,树 ,设计 ,二叉搜索树 ,二叉树 ,迭代器
|
中等 | |
056 | 二叉搜索树中两个节点之和 |
数组 ,滑动窗口
|
简单 | |
057 | 值和下标之差都在给定的范围内 |
数组 ,桶排序 ,有序集合 ,排序 ,滑动窗口
|
中等 | |
058 | 日程表 |
设计 ,线段树 ,有序集合
|
中等 | |
059 | 数据流的第 K 大数值 |
树 ,设计 ,二叉搜索树 ,二叉树 ,数据流 ,堆(优先队列)
|
简单 | |
060 | 出现频率最高的 k 个数字 |
数组 ,哈希表 ,分治 ,桶排序 ,计数 ,快速选择 ,排序 ,堆(优先队列)
|
中等 | |
061 | 和最小的 k 个数对 |
数组 ,堆(优先队列)
|
中等 | |
062 | 实现前缀树 |
设计 ,字典树 ,哈希表 ,字符串
|
中等 | |
063 | 替换单词 |
字典树 ,数组 ,哈希表 ,字符串
|
中等 | |
064 | 神奇的字典 |
设计 ,字典树 ,哈希表 ,字符串
|
中等 | |
065 | 最短的单词编码 |
字典树 ,数组 ,哈希表 ,字符串
|
中等 | |
066 | 单词之和 |
设计 ,字典树 ,哈希表 ,字符串
|
中等 | |
067 | 最大的异或 |
位运算 ,字典树 ,数组 ,哈希表
|
中等 | |
068 | 查找插入位置 |
数组 ,二分查找
|
简单 | |
069 | 山峰数组的顶部 |
数组 ,二分查找
|
简单 | |
070 | 排序数组中只出现一次的数字 |
数组 ,二分查找
|
中等 | |
071 | 按权重生成随机数 |
数学 ,二分查找 ,前缀和 ,随机化
|
中等 | |
072 | 求平方根 |
数学 ,二分查找
|
简单 | |
073 | 狒狒吃香蕉 |
数组 ,二分查找
|
中等 | |
074 | 合并区间 |
数组 ,排序
|
中等 | |
075 | 数组相对排序 |
数组 ,哈希表 ,计数排序 ,排序
|
简单 | |
076 | 数组中的第 k 大的数字 |
数组 ,分治 ,快速选择 ,排序 ,堆(优先队列)
|
中等 | |
077 | 链表排序 |
链表 ,双指针 ,分治 ,排序 ,归并排序
|
中等 | |
078 | 合并排序链表 |
链表 ,分治 ,堆(优先队列) ,归并排序
|
困难 | |
079 | 所有子集 |
位运算 ,数组 ,回溯
|
中等 | |
080 | 含有 k 个元素的组合 |
数组 ,回溯
|
中等 | |
081 | 允许重复选择元素的组合 |
数组 ,回溯
|
中等 | |
082 | 含有重复元素集合的组合 |
数组 ,回溯
|
中等 | |
083 | 没有重复元素集合的全排列 |
数组 ,回溯
|
中等 | |
084 | 含有重复元素集合的全排列 |
数组 ,回溯
|
中等 | |
085 | 生成匹配的括号 |
字符串 ,动态规划 ,回溯
|
中等 | |
086 | 分割回文子字符串 |
深度优先搜索 ,广度优先搜索 ,图 ,哈希表
|
中等 | |
087 | 复原 IP |
字符串 ,回溯
|
中等 | |
088 | 爬楼梯的最少成本 |
数组 ,动态规划
|
简单 | |
089 | 房屋偷盗 |
数组 ,动态规划
|
中等 | |
090 | 环形房屋偷盗 |
数组 ,动态规划
|
中等 | |
091 | 粉刷房子 |
数组 ,动态规划
|
中等 | |
092 | 翻转字符 |
字符串 ,动态规划
|
中等 | |
093 | 最长斐波那契数列 |
数组 ,哈希表 ,动态规划
|
中等 | |
094 | 最少回文分割 |
字符串 ,动态规划
|
困难 | |
095 | 最长公共子序列 |
字符串 ,动态规划
|
中等 | |
096 | 字符串交织 |
字符串 ,动态规划
|
中等 | |
097 | 子序列的数目 |
字符串 ,动态规划
|
困难 | |
098 | 路径的数目 |
数学 ,动态规划 ,组合数学
|
中等 | |
099 | 最小路径之和 |
数组 ,动态规划 ,矩阵
|
中等 | |
100 | 三角形中最小路径之和 |
数组 ,动态规划
|
中等 | |
101 | 分割等和子串 |
数学 ,字符串 ,模拟
|
简单 | |
102 | 加减的目标值 |
数组 ,动态规划 ,回溯
|
中等 | |
103 | 最少的硬币数目 |
广度优先搜索 ,数组 ,动态规划
|
中等 | |
104 | 排列的数目 |
数组 ,动态规划
|
中等 | |
105 | 岛屿的最大面积 |
深度优先搜索 ,广度优先搜索 ,并查集 ,数组 ,矩阵
|
中等 | |
106 | 二分图 |
深度优先搜索 ,广度优先搜索 ,并查集 ,图
|
中等 | |
107 | 矩阵中的距离 |
广度优先搜索 ,数组 ,动态规划 ,矩阵
|
中等 | |
108 | 单词演变 |
广度优先搜索 ,哈希表 ,字符串
|
困难 | |
109 | 开密码锁 |
广度优先搜索 ,数组 ,哈希表 ,字符串
|
中等 | |
110 | 所有路径 |
深度优先搜索 ,广度优先搜索 ,图 ,回溯
|
中等 | |
111 | 计算除法 |
深度优先搜索 ,广度优先搜索 ,并查集 ,图 ,数组 ,最短路
|
中等 | |
112 | 最长递增路径 |
深度优先搜索 ,广度优先搜索 ,图 ,拓扑排序 ,记忆化搜索 ,动态规划
|
困难 | |
113 | 课程顺序 |
深度优先搜索 ,广度优先搜索 ,图 ,拓扑排序
|
中等 | |
114 | 外星文字典 |
深度优先搜索 ,广度优先搜索 ,图 ,拓扑排序 ,数组 ,字符串
|
困难 | |
115 | 重建序列 |
图 ,拓扑排序 ,数组
|
中等 | |
116 | 朋友圈 |
深度优先搜索 ,广度优先搜索 ,并查集 ,图
|
中等 | |
117 | 相似的字符串 |
深度优先搜索 ,广度优先搜索 ,并查集 ,字符串
|
困难 | |
118 | 多余的边 |
深度优先搜索 ,广度优先搜索 ,并查集 ,图
|
中等 | |
119 | 最长连续序列 |
并查集 ,数组 ,哈希表
|
中等 |
本项目著作权归 GitHub 开源社区 Doocs 所有,商业转载请联系 @yanglbme 获得授权,非商业转载请注明出处。
欢迎各位小伙伴们添加 @yanglbme 的个人微信(微信号:YLB0109),备注 「leetcode」。后续我们会创建算法、技术相关的交流群,大家一起交流学习,分享经验,共同进步。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。