0.8 LeetCode 面试最常考 200 题(按分类排序)
大约 30 分钟
0.8 LeetCode 面试最常考 200 题(按分类排序)
LeetCode 面试最常考 200 题(按分类排序)
第 1 章 数组
数组基础题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0189. 轮转数组 | 题解 | 数组、数学、双指针 | 中等 |
0498. 对角线遍历 | 题解 | 数组、矩阵、模拟 | 中等 |
0048. 旋转图像 | 题解 | 数组、数学、矩阵 | 中等 |
0054. 螺旋矩阵 | 题解 | 数组、矩阵、模拟 | 中等 |
0059. 螺旋矩阵 II | 题解 | 数组、矩阵、模拟 | 中等 |
排序算法题目
冒泡排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0283. 移动零 | 题解 | 数组、双指针 | 简单 |
选择排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0215. 数组中的第K个最大元素 | 题解 | 数组、分治、快速选择、排序、堆(优先队列) | 中等 |
插入排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0075. 颜色分类 | 题解 | 数组、双指针、排序 | 中等 |
希尔排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
归并排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
0088. 合并两个有序数组 | 题解 | 数组、双指针、排序 | 简单 |
LCR 170. 交易逆序对的总数 | 题解 | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 |
快速排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
0169. 多数元素 | 题解 | 数组、哈希表、分治、计数、排序 | 简单 |
堆排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
0215. 数组中的第K个最大元素 | 题解 | 数组、分治、快速选择、排序、堆(优先队列) | 中等 |
LCR 159. 库存管理 III | 题解 | 数组、分治、快速选择、排序、堆(优先队列) | 简单 |
计数排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
桶排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0912. 排序数组 | 题解 | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 |
基数排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0164. 最大间距 | 题解 | 数组、桶排序、基数排序、排序 | 中等 |
其他排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0136. 只出现一次的数字 | 题解 | 位运算、数组 | 简单 |
0056. 合并区间 | 题解 | 数组、排序 | 中等 |
0179. 最大数 | 题解 | 贪心、数组、字符串、排序 | 中等 |
0384. 打乱数组 | 题解 | 设计、数组、数学、随机化 | 中等 |
LCR 164. 破解闯关密码 | 题解 | 贪心、字符串、排序 | 中等 |
二分查找题目
二分下标题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0704. 二分查找 | 题解 | 数组、二分查找 | 简单 |
0034. 在排序数组中查找元素的第一个和最后一个位置 | 题解 | 数组、二分查找 | 中等 |
0153. 寻找旋转排序数组中的最小值 | 题解 | 数组、二分查找 | 中等 |
0154. 寻找旋转排序数组中的最小值 II | 题解 | 数组、二分查找 | 困难 |
0033. 搜索旋转排序数组 | 题解 | 数组、二分查找 | 中等 |
0162. 寻找峰值 | 题解 | 数组、二分查找 | 中等 |
0004. 寻找两个正序数组的中位数 | 题解 | 数组、二分查找、分治 | 困难 |
0074. 搜索二维矩阵 | 题解 | 数组、二分查找、矩阵 | 中等 |
0240. 搜索二维矩阵 II | 题解 | 数组、二分查找、分治、矩阵 | 中等 |
二分答案题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0069. x 的平方根 | 题解 | 数学、二分查找 | 简单 |
0287. 寻找重复数 | 题解 | 位运算、数组、双指针、二分查找 | 中等 |
0050. Pow(x, n) | 题解 | 递归、数学 | 中等 |
0400. 第 N 位数字 | 题解 | 数学、二分查找 | 中等 |
复杂的二分查找问题
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0209. 长度最小的子数组 | 题解 | 数组、二分查找、前缀和、滑动窗口 | 中等 |
0349. 两个数组的交集 | 题解 | 数组、哈希表、双指针、二分查找、排序 | 简单 |
双指针题目
对撞指针题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0611. 有效三角形的个数 | 题解 | 贪心、数组、双指针、二分查找、排序 | 中等 |
0015. 三数之和 | 题解 | 数组、双指针、排序 | 中等 |
0016. 最接近的三数之和 | 题解 | 数组、双指针、排序 | 中等 |
0125. 验证回文串 | 题解 | 双指针、字符串 | 简单 |
0011. 盛最多水的容器 | 题解 | 贪心、数组、双指针 | 中等 |
0075. 颜色分类 | 题解 | 数组、双指针、排序 | 中等 |
LCR 139. 训练计划 I | 题解 | 数组、双指针、排序 | 简单 |
0443. 压缩字符串 | 题解 | 双指针、字符串 | 中等 |
快慢指针题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0026. 删除有序数组中的重复项 | 题解 | 数组、双指针 | 简单 |
0283. 移动零 | 题解 | 数组、双指针 | 简单 |
0088. 合并两个有序数组 | 题解 | 数组、双指针、排序 | 简单 |
分离双指针题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0415. 字符串相加 | 题解 | 数学、字符串、模拟 | 简单 |
滑动窗口题目
固定长度窗口题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0239. 滑动窗口最大值 | 题解 | 队列、数组、滑动窗口、单调队列、堆(优先队列) | 困难 |
不定长度窗口题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0003. 无重复字符的最长子串 | 题解 | 哈希表、字符串、滑动窗口 | 中等 |
0076. 最小覆盖子串 | 题解 | 哈希表、字符串、滑动窗口 | 困难 |
0718. 最长重复子数组 | 题解 | 数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希 | 中等 |
0209. 长度最小的子数组 | 题解 | 数组、二分查找、前缀和、滑动窗口 | 中等 |
0862. 和至少为 K 的最短子数组 | 题解 | 队列、数组、二分查找、前缀和、滑动窗口、单调队列、堆(优先队列) | 困难 |
1004. 最大连续1的个数 III | 题解 | 数组、二分查找、前缀和、滑动窗口 | 中等 |
02. 链表
链表经典题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0083. 删除排序链表中的重复元素 | 题解 | 链表 | 简单 |
0082. 删除排序链表中的重复元素 II | 题解 | 链表、双指针 | 中等 |
0206. 反转链表 | 题解 | 递归、链表 | 简单 |
0092. 反转链表 II | 题解 | 链表 | 中等 |
0025. K 个一组翻转链表 | 题解 | 递归、链表 | 困难 |
0328. 奇偶链表 | 题解 | 链表 | 中等 |
0234. 回文链表 | 题解 | 栈、递归、链表、双指针 | 简单 |
0138. 随机链表的复制 | 题解 | 哈希表、链表 | 中等 |
0061. 旋转链表 | 题解 | 链表、双指针 | 中等 |
链表排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0148. 排序链表 | 题解 | 链表、双指针、分治、排序、归并排序 | 中等 |
0021. 合并两个有序链表 | 题解 | 递归、链表 | 简单 |
0023. 合并 K 个升序链表 | 题解 | 链表、分治、堆(优先队列)、归并排序 | 困难 |
链表双指针题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0141. 环形链表 | 题解 | 哈希表、链表、双指针 | 简单 |
0142. 环形链表 II | 题解 | 哈希表、链表、双指针 | 中等 |
0160. 相交链表 | 题解 | 哈希表、链表、双指针 | 简单 |
0019. 删除链表的倒数第 N 个结点 | 题解 | 链表、双指针 | 中等 |
LCR 140. 训练计划 II | 题解 | 链表、双指针 | 简单 |
0143. 重排链表 | 题解 | 栈、递归、链表、双指针 | 中等 |
0002. 两数相加 | 题解 | 递归、链表、数学 | 中等 |
0445. 两数相加 II | 题解 | 栈、链表、数学 | 中等 |
第 3 章 堆栈、队列、哈希表
堆栈基础题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
1047. 删除字符串中的所有相邻重复项 | 题解 | 栈、字符串 | 简单 |
0155. 最小栈 | 题解 | 栈、设计 | 中等 |
0020. 有效的括号 | 题解 | 栈、字符串 | 简单 |
0224. 基本计算器 | 题解 | 栈、递归、数学、字符串 | 困难 |
0227. 基本计算器 II | 题解 | 栈、数学、字符串 | 中等 |
0232. 用栈实现队列 | 题解 | 栈、设计、队列 | 简单 |
LCR 125. 图书整理 II | 题解 | 栈、设计、队列 | 简单 |
0394. 字符串解码 | 题解 | 栈、递归、字符串 | 中等 |
0032. 最长有效括号 | 题解 | 栈、字符串、动态规划 | 困难 |
0739. 每日温度 | 题解 | 栈、数组、单调栈 | 中等 |
0071. 简化路径 | 题解 | 栈、字符串 | 中等 |
单调栈
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0739. 每日温度 | 题解 | 栈、数组、单调栈 | 中等 |
0503. 下一个更大元素 II | 题解 | 栈、数组、单调栈 | 中等 |
0042. 接雨水 | 题解 | 栈、数组、双指针、动态规划、单调栈 | 困难 |
0085. 最大矩形 | 题解 | 栈、数组、动态规划、矩阵、单调栈 | 困难 |
队列基础题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0225. 用队列实现栈 | 题解 | 栈、设计、队列 | 简单 |
优先队列题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0347. 前 K 个高频元素 | 题解 | 数组、哈希表、分治、桶排序、计数、快速选择、排序、堆(优先队列) | 中等 |
0239. 滑动窗口最大值 | 题解 | 队列、数组、滑动窗口、单调队列、堆(优先队列) | 困难 |
0295. 数据流的中位数 | 题解 | 设计、双指针、数据流、排序、堆(优先队列) | 困难 |
0023. 合并 K 个升序链表 | 题解 | 链表、分治、堆(优先队列)、归并排序 | 困难 |
哈希表题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0001. 两数之和 | 题解 | 数组、哈希表 | 简单 |
0015. 三数之和 | 题解 | 数组、双指针、排序 | 中等 |
0041. 缺失的第一个正数 | 题解 | 数组、哈希表 | 困难 |
0128. 最长连续序列 | 题解 | 并查集、数组、哈希表 | 中等 |
0136. 只出现一次的数字 | 题解 | 位运算、数组 | 简单 |
0242. 有效的字母异位词 | 题解 | 哈希表、字符串、排序 | 简单 |
0442. 数组中重复的数据 | 题解 | 数组、哈希表 | 中等 |
LCR 186. 文物朝代判断 | 题解 | 数组、排序 | 简单 |
0268. 丢失的数字 | 题解 | 位运算、数组、哈希表、数学、二分查找、排序 | 简单 |
LCR 120. 寻找文件副本 | 题解 | 数组、哈希表、排序 | 简单 |
第 4 章 字符串
字符串基础题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0125. 验证回文串 | 题解 | 双指针、字符串 | 简单 |
0005. 最长回文子串 | 题解 | 双指针、字符串、动态规划 | 中等 |
0003. 无重复字符的最长子串 | 题解 | 哈希表、字符串、滑动窗口 | 中等 |
0344. 反转字符串 | 题解 | 双指针、字符串 | 简单 |
0557. 反转字符串中的单词 III | 题解 | 双指针、字符串 | 简单 |
0415. 字符串相加 | 题解 | 数学、字符串、模拟 | 简单 |
0151. 反转字符串中的单词 | 题解 | 双指针、字符串 | 中等 |
0043. 字符串相乘 | 题解 | 数学、字符串、模拟 | 中等 |
0014. 最长公共前缀 | 题解 | 字典树、字符串 | 简单 |
单模式串匹配题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0459. 重复的子字符串 | 题解 | 字符串、字符串匹配 | 简单 |
字典树题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0208. 实现 Trie (前缀树) | 题解 | 设计、字典树、哈希表、字符串 | 中等 |
0440. 字典序的第K小数字 | 题解 | 字典树 | 困难 |
第 5 章 树
二叉树的遍历题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0144. 二叉树的前序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0094. 二叉树的中序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0145. 二叉树的后序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0102. 二叉树的层序遍历 | 题解 | 树、广度优先搜索、二叉树 | 中等 |
0103. 二叉树的锯齿形层序遍历 | 题解 | 树、广度优先搜索、二叉树 | 中等 |
0104. 二叉树的最大深度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0111. 二叉树的最小深度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0124. 二叉树中的最大路径和 | 题解 | 树、深度优先搜索、动态规划、二叉树 | 困难 |
0101. 对称二叉树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0112. 路径总和 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0113. 路径总和 II | 题解 | 树、深度优先搜索、回溯、二叉树 | 中等 |
0236. 二叉树的最近公共祖先 | 题解 | 树、深度优先搜索、二叉树 | 中等 |
0199. 二叉树的右视图 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 中等 |
0226. 翻转二叉树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0958. 二叉树的完全性检验 | 题解 | 树、广度优先搜索、二叉树 | 中等 |
0572. 另一棵树的子树 | 题解 | 树、深度优先搜索、二叉树、字符串匹配、哈希函数 | 简单 |
0100. 相同的树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0297. 二叉树的序列化与反序列化 | 题解 | 树、深度优先搜索、广度优先搜索、设计、字符串、二叉树 | 困难 |
0114. 二叉树展开为链表 | 题解 | 栈、树、深度优先搜索、链表、二叉树 | 中等 |
二叉树的还原题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0105. 从前序与中序遍历序列构造二叉树 | 题解 | 树、数组、哈希表、分治、二叉树 | 中等 |
0106. 从中序与后序遍历序列构造二叉树 | 题解 | 树、数组、哈希表、分治、二叉树 | 中等 |
二叉搜索树题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0098. 验证二叉搜索树 | 题解 | 树、深度优先搜索、二叉搜索树、二叉树 | 中等 |
0450. 删除二叉搜索树中的节点 | 题解 | 树、二叉搜索树、二叉树 | 中等 |
LCR 174. 寻找二叉搜索树中的目标节点 | 题解 | 树、深度优先搜索、二叉搜索树、二叉树 | 简单 |
0230. 二叉搜索树中第 K 小的元素 | 题解 | 树、深度优先搜索、二叉搜索树、二叉树 | 中等 |
0426. 将二叉搜索树转化为排序的双向链表 | 题解 | 栈、树、深度优先搜索、二叉搜索树、链表、二叉树、双向链表 | 中等 |
0110. 平衡二叉树 | 题解 | 树、深度优先搜索、二叉树 | 简单 |
并查集题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0128. 最长连续序列 | 题解 | 并查集、数组、哈希表 | 中等 |
第 6 章 图论
图的深度优先搜索题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0200. 岛屿数量 | 题解 | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
0695. 岛屿的最大面积 | 题解 | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
0144. 二叉树的前序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0094. 二叉树的中序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0145. 二叉树的后序遍历 | 题解 | 栈、树、深度优先搜索、二叉树 | 简单 |
0129. 求根节点到叶节点数字之和 | 题解 | 树、深度优先搜索、二叉树 | 中等 |
0124. 二叉树中的最大路径和 | 题解 | 树、深度优先搜索、动态规划、二叉树 | 困难 |
0199. 二叉树的右视图 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 中等 |
0543. 二叉树的直径 | 题解 | 树、深度优先搜索、二叉树 | 简单 |
0662. 二叉树最大宽度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 中等 |
0958. 二叉树的完全性检验 | 题解 | 树、广度优先搜索、二叉树 | 中等 |
0572. 另一棵树的子树 | 题解 | 树、深度优先搜索、二叉树、字符串匹配、哈希函数 | 简单 |
0100. 相同的树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0111. 二叉树的最小深度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
图的广度优先搜索题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0200. 岛屿数量 | 题解 | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
0322. 零钱兑换 | 题解 | 广度优先搜索、数组、动态规划 | 中等 |
0207. 课程表 | 题解 | 深度优先搜索、广度优先搜索、图、拓扑排序 | 中等 |
0199. 二叉树的右视图 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 中等 |
0662. 二叉树最大宽度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 中等 |
0958. 二叉树的完全性检验 | 题解 | 树、广度优先搜索、二叉树 | 中等 |
0572. 另一棵树的子树 | 题解 | 树、深度优先搜索、二叉树、字符串匹配、哈希函数 | 简单 |
0100. 相同的树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0111. 二叉树的最小深度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
LCR 151. 彩灯装饰记录 III | 题解 | 树、广度优先搜索、二叉树 | 中等 |
图的拓扑排序题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0210. 课程表 II | 题解 | 深度优先搜索、广度优先搜索、图、拓扑排序 | 中等 |
第 7 章 基础算法
枚举算法题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0001. 两数之和 | 题解 | 数组、哈希表 | 简单 |
0078. 子集 | 题解 | 位运算、数组、回溯 | 中等 |
0221. 最大正方形 | 题解 | 数组、动态规划、矩阵 | 中等 |
0560. 和为 K 的子数组 | 题解 | 数组、哈希表、前缀和 | 中等 |
递归算法题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0024. 两两交换链表中的节点 | 题解 | 递归、链表 | 中等 |
0206. 反转链表 | 题解 | 递归、链表 | 简单 |
0092. 反转链表 II | 题解 | 链表 | 中等 |
0021. 合并两个有序链表 | 题解 | 递归、链表 | 简单 |
0509. 斐波那契数 | 题解 | 递归、记忆化搜索、数学、动态规划 | 简单 |
0070. 爬楼梯 | 题解 | 记忆化搜索、数学、动态规划 | 简单 |
0104. 二叉树的最大深度 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0124. 二叉树中的最大路径和 | 题解 | 树、深度优先搜索、动态规划、二叉树 | 困难 |
0226. 翻转二叉树 | 题解 | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
LCR 187. 破冰游戏 | 题解 | 递归、数学 | 简单 |
分治算法题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0004. 寻找两个正序数组的中位数 | 题解 | 数组、二分查找、分治 | 困难 |
0023. 合并 K 个升序链表 | 题解 | 链表、分治、堆(优先队列)、归并排序 | 困难 |
0053. 最大子数组和 | 题解 | 数组、分治、动态规划 | 中等 |
0169. 多数元素 | 题解 | 数组、哈希表、分治、计数、排序 | 简单 |
0014. 最长公共前缀 | 题解 | 字典树、字符串 | 简单 |
LCR 152. 验证二叉搜索树的后序遍历序列 | 题解 | 栈、树、二叉搜索树、递归、数组、二叉树、单调栈 | 中等 |
回溯算法题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0046. 全排列 | 题解 | 数组、回溯 | 中等 |
0047. 全排列 II | 题解 | 数组、回溯、排序 | 中等 |
0037. 解数独 | 题解 | 数组、哈希表、回溯、矩阵 | 困难 |
0022. 括号生成 | 题解 | 字符串、动态规划、回溯 | 中等 |
0078. 子集 | 题解 | 位运算、数组、回溯 | 中等 |
0039. 组合总和 | 题解 | 数组、回溯 | 中等 |
0040. 组合总和 II | 题解 | 数组、回溯 | 中等 |
0093. 复原 IP 地址 | 题解 | 字符串、回溯 | 中等 |
0079. 单词搜索 | 题解 | 深度优先搜索、数组、字符串、回溯、矩阵 | 中等 |
0679. 24 点游戏 | 题解 | 数组、数学、回溯 | 困难 |
贪心算法题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0053. 最大子数组和 | 题解 | 数组、分治、动态规划 | 中等 |
0056. 合并区间 | 题解 | 数组、排序 | 中等 |
0122. 买卖股票的最佳时机 II | 题解 | 贪心、数组、动态规划 | 中等 |
0055. 跳跃游戏 | 题解 | 贪心、数组、动态规划 | 中等 |
0402. 移掉 K 位数字 | 题解 | 栈、贪心、字符串、单调栈 | 中等 |
0135. 分发糖果 | 题解 | 贪心、数组 | 困难 |
0134. 加油站 | 题解 | 贪心、数组 | 中等 |
0670. 最大交换 | 题解 | 贪心、数学 | 中等 |
位运算题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0136. 只出现一次的数字 | 题解 | 位运算、数组 | 简单 |
0191. 位1的个数 | 题解 | 位运算、分治 | 简单 |
0268. 丢失的数字 | 题解 | 位运算、数组、哈希表、数学、二分查找、排序 | 简单 |
第 8 章 动态规划
动态规划题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0070. 爬楼梯 | 题解 | 记忆化搜索、数学、动态规划 | 简单 |
0509. 斐波那契数 | 题解 | 递归、记忆化搜索、数学、动态规划 | 简单 |
0121. 买卖股票的最佳时机 | 题解 | 数组、动态规划 | 简单 |
0322. 零钱兑换 | 题解 | 广度优先搜索、数组、动态规划 | 中等 |
0518. 零钱兑换 II | 题解 | 数组、动态规划 | 中等 |
0300. 最长递增子序列 | 题解 | 数组、二分查找、动态规划 | 中等 |
1143. 最长公共子序列 | 题解 | 字符串、动态规划 | 中等 |
0718. 最长重复子数组 | 题解 | 数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希 | 中等 |
0064. 最小路径和 | 题解 | 数组、动态规划、矩阵 | 中等 |
0072. 编辑距离 | 题解 | 字符串、动态规划 | 中等 |
0032. 最长有效括号 | 题解 | 栈、字符串、动态规划 | 困难 |
0221. 最大正方形 | 题解 | 数组、动态规划、矩阵 | 中等 |
0062. 不同路径 | 题解 | 数学、动态规划、组合数学 | 中等 |
0063. 不同路径 II | 题解 | 数组、动态规划、矩阵 | 中等 |
0152. 乘积最大子数组 | 题解 | 数组、动态规划 | 中等 |
0198. 打家劫舍 | 题解 | 数组、动态规划 | 中等 |
0213. 打家劫舍 II | 题解 | 数组、动态规划 | 中等 |
0091. 解码方法 | 题解 | 字符串、动态规划 | 中等 |
0010. 正则表达式匹配 | 题解 | 递归、字符串、动态规划 | 困难 |
0678. 有效的括号字符串 | 题解 | 栈、贪心、字符串、动态规划 | 中等 |
0045. 跳跃游戏 II | 题解 | 贪心、数组、动态规划 | 中等 |
0673. 最长递增子序列的个数 | 题解 | 树状数组、线段树、数组、动态规划 | 中等 |
0139. 单词拆分 | 题解 | 字典树、记忆化搜索、数组、哈希表、字符串、动态规划 | 中等 |
0044. 通配符匹配 | 题解 | 贪心、递归、字符串、动态规划 | 困难 |
0120. 三角形最小路径和 | 题解 | 数组、动态规划 | 中等 |
0096. 不同的二叉搜索树 | 题解 | 树、二叉搜索树、数学、动态规划、二叉树 | 中等 |
0887. 鸡蛋掉落 | 题解 | 数学、二分查找、动态规划 | 困难 |
0097. 交错字符串 | 题解 | 字符串、动态规划 | 中等 |
0516. 最长回文子序列 | 题解 | 字符串、动态规划 | 中等 |
记忆化搜索题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0329. 矩阵中的最长递增路径 | 题解 | 深度优先搜索、广度优先搜索、图、拓扑排序、记忆化搜索、数组、动态规划、矩阵 | 困难 |
补充题目
设计数据结构题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0146. LRU 缓存 | 题解 | 设计、哈希表、链表、双向链表 | 中等 |
0460. LFU 缓存 | 题解 | 设计、哈希表、链表、双向链表 | 困难 |
数学题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0007. 整数反转 | 题解 | 数学 | 中等 |
0009. 回文数 | 题解 | 数学 | 简单 |
LCR 187. 破冰游戏 | 题解 | 递归、数学 | 简单 |
0168. Excel 表列名称 | 题解 | 数学、字符串 | 简单 |
0400. 第 N 位数字 | 题解 | 数学、二分查找 | 中等 |
模拟题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0008. 字符串转换整数 (atoi) | 题解 | 字符串 | 中等 |
0165. 比较版本号 | 题解 | 双指针、字符串 | 中等 |
0468. 验证IP地址 | 题解 | 字符串 | 中等 |
0086. 分隔链表 | 题解 | 链表、双指针 | 中等 |
前缀和
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0560. 和为 K 的子数组 | 题解 | 数组、哈希表、前缀和 | 中等 |
思维锻炼题目
标题 | 题解 | 标签 | 难度 |
---|---|---|---|
0031. 下一个排列 | 题解 | 数组、双指针 | 中等 |
0556. 下一个更大元素 III | 题解 | 数学、双指针、字符串 | 中等 |
0470. 用 Rand7() 实现 Rand10() | 题解 | 数学、拒绝采样、概率与统计、随机化 | 中等 |
参考资料
- 【清单】CodeTop 企业题库