| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0189 | 旋转数组 | Python | 数组 | 中等 |
| 0066 | 加一 | Python | 数组 | 简单 |
| 0724 | 寻找数组的中心下标 | Python | 数组 | 简单 |
| 0485 | 最大连续 1 的个数 | Python | 数组 | 简单 |
| 0238 | 除自身以外数组的乘积 | Python | 数组 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 面试题 01.07 | 旋转矩阵 | Python | 数组、数学、矩阵 | 中等 |
| 面试题 01.08 | 零矩阵 | Python | 数组、哈希表、矩阵 | 中等 |
| 0498 | 对角线遍历 | Python | 数组、矩阵、模拟 | 中等 |
| 0048 | 旋转图像 | Python | 数组 | 中等 |
| 0118 | 杨辉三角 | Python | 数组 | 简单 |
| 0119 | 杨辉三角 II | Python | 数组 | 简单 |
| 0073 | 矩阵置零 | Python | 数组 | 中等 |
| 0054 | 螺旋矩阵 | Python | 数组 | 中等 |
| 0289 | 生命游戏 | Python | 数组、矩阵、模拟 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 剑指 Offer 45 | 把数组排成最小的数 | Python | 贪心、字符串、排序 | 中等 |
| 0283 | 移动零 | Python | 数组、双指针 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0215 | 数组中的第K个最大元素 | Python | 数组、堆排序 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0075 | 颜色分类 | Python | 数组、排序、双指针 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 0506 | 相对名次 | Python | 数组、排序、堆(优先队列) | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 面试题 10.01 | 合并排序的数组 | Python | 数组、双指针、排序 | 简单 |
| 0088 | 合并两个有序数组 | Python | 数组、双指针 | 简单 |
| 剑指 Offer 51 | 数组中的逆序对 | Python | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 |
| 0315 | 计算右侧小于当前元素的个数 | Python | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 0169 | 多数元素 | Python | 数组、哈希表 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 0215 | 数组中的第K个最大元素 | Python | 数组、堆排序 | 中等 |
| 剑指 Offer 40 | 最小的k个数 | Python | 数组、分治、快速选择、排序、堆(优先队列) | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 1122 | 数组的相对排序 | Python | 数组、哈希表、计数排序、排序 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0912 | 排序数组 | Python | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列) | 中等 |
| 0164 | 最大间距 | Python | 数组、桶排序、基数排序、排序 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0164 | 最大间距 | Python | 数组、桶排序、基数排序、排序 | 困难 |
| 0561 | 数组拆分 I | Python | 数组 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0217 | 存在重复元素 | Python | 数组、哈希表 | 简单 |
| 0136 | 只出现一次的数字 | Python | 位运算、位运算 | 简单 |
| 0056 | 合并区间 | Python | 数组、排序 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0704 | 二分查找 | Python | 二分查找 | 简单 |
| 0374 | 猜数字大小 | Python | 二分查找 | 简单 |
| 0035 | 搜索插入位置 | Python | 数组、二分查找 | 简单 |
| 0034 | 在排序数组中查找元素的第一个和最后一个位置 | Python | 数组、二分查找 | 中等 |
| 0167 | 两数之和 II - 输入有序数组 | Python | 数组、双指针、二分查找 | 简单 |
| 0153 | 寻找旋转排序数组中的最小值 | Python | 数组、二分查找 | 中等 |
| 0154 | 寻找旋转排序数组中的最小值 II | Python | 数组、二分查找 | 困难 |
| 0033 | 搜索旋转排序数组 | Python | 数组、二分查找 | 中等 |
| 0081 | 搜索旋转排序数组 II | Python | 数组、二分查找 | 中等 |
| 0278 | 第一个错误的版本 | Python | 数组、二分查找 | 简单 |
| 0162 | 寻找峰值 | Python | 数组、二分查找 | 中等 |
| 0852 | 山脉数组的峰顶索引 | Python | 数组、二分查找 | 简单 |
| 1095 | 山脉数组中查找目标值 | Python | 数组、二分查找、交互 | 困难 |
| 0744 | 寻找比目标字母大的最小字母 | Python | 二分查找 | 简单 |
| 0004 | 寻找两个正序数组的中位数 | Python | 数组、二分查找、分治算法 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0069 | x 的平方根 | Python | 数学、二分查找 | 简单 |
| 0287 | 寻找重复数 | Python | 数组、双指针、二分查找 | 中等 |
| 0050 | Pow(x, n) | Python | 数学、二分查找 | 中等 |
| 0367 | 有效的完全平方数 | Python | 数学、二分查找 | 简单 |
| 1300 | 转变数组后最接近目标值的数组和 | Python | 数组、二分查找、排序 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0875 | 爱吃香蕉的珂珂 | Python | 数组、二分查找 | 中等 |
| 0410 | 分割数组的最大值 | Python | 二分查找、动态规划 | 困难 |
| 0209 | 长度最小的子数组 | Python | 数组、双指针、二分查找 | 中等 |
| 0658 | 找到 K 个最接近的元素 | Python | 二分查找 | 中等 |
| 0270 | 最接近的二叉搜索树值 | Python | 树、二分查找 | 简单 |
| 0702 | 搜索长度未知的有序数组 | Python | 二分查找 | 中等 |
| 0349 | 两个数组的交集 | Python | 数组、哈希表 | 简单 |
| 0350 | 两个数组的交集 II | Python | 数组、哈希表 | 简单 |
| 0287 | 寻找重复数 | Python | 数组、双指针、二分查找 | 中等 |
| 0719 | 找出第 k 小的距离对 | Python | 堆、数组、二分查找 | 困难 |
| 0259 | 较小的三数之和 | Python | 数组、双指针、二分查找、排序 | 中等 |
| 1011 | 在 D 天内送达包裹的能力 | Python | 数组、二分查找 | 中等 |
| 1482 | 制作 m 束花所需的最少天数 | Python | 数组、二分查找 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0167 | 两数之和 II - 输入有序数组 | Python | 数组、双指针、二分查找 | 简单 |
| 0344 | 反转字符串 | Python | 字符串 | 简单 |
| 0345 | 反转字符串中的元音字母 | Python | 字符串 | 简单 |
| 0125 | 验证回文串 | Python | 字符串、双指针 | 简单 |
| 0011 | 盛最多水的容器 | Python | 贪心、数组、双指针 | 中等 |
| 0611 | 有效三角形的个数 | Python | 贪心、数组、双指针、二分查找、排序 | 中等 |
| 0015 | 三数之和 | Python | 数组、双指针 | 中等 |
| 0018 | 四数之和 | Python | 数组、哈希表、双指针 | 中等 |
| 0016 | 最接近的三数之和 | Python | 数组、双指针、排序 | 中等 |
| 0259 | 较小的三数之和 | Python | 数组、双指针、二分查找、排序 | 中等 |
| 0658 | 找到 K 个最接近的元素 | Python | 二分查找 | 中等 |
| 1099 | 小于 K 的两数之和 | Python | 数组、双指针、二分查找、排序 | 简单 |
| 0075 | 颜色分类 | Python | 数组、排序、双指针 | 中等 |
| 0360 | 有序转化数组 | Python | 数组、数学、双指针、排序 | 中等 |
| 0977 | 有序数组的平方 | Python | 数组、双指针、排序 | 简单 |
| 0881 | 救生艇 | Python | 贪心、数组、双指针、排序 | 中等 |
| 0042 | 接雨水 | Python | 栈、数组、双指针、动态规划、单调栈 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0026 | 删除有序数组中的重复项 | Python | 数组、双指针 | 简单 |
| 0080 | 删除有序数组中的重复项 II | Python | 数组、双指针 | 中等 |
| 0027 | 移除元素 | Python | 数组、双指针 | 简单 |
| 0283 | 移动零 | Python | 数组、双指针 | 简单 |
| 0845 | 数组中的最长山脉 | Python | 数组、双指针、动态规划、枚举 | 中等 |
| 0088 | 合并两个有序数组 | Python | 数组、双指针 | 简单 |
| 0719 | 找出第 k 小的距离对 | Python | 堆、数组、二分查找 | 困难 |
| 0334 | 递增的三元子序列 | Python | 贪心、数组 | 中等 |
| 0978 | 最长湍流子数组 | Python | 数组、动态规划、滑动窗口 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0350 | 两个数组的交集 II | Python | 数组、哈希表 | 简单 |
| 0925 | 长按键入 | Python | 双指针、字符串 | 简单 |
| 0844 | 比较含退格的字符串 | Python | 栈、双指针、字符串、模拟 | 简单 |
| 1229 | 安排会议日程 | Python | 数组、双指针、排序 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 1343 | 大小为 K 且平均值大于等于阈值的子数组数目 | Python | 数组、滑动窗口 | 中等 |
| 0643 | 子数组最大平均数 I | Python | 数组、滑动窗口 | 简单 |
| 1052 | 爱生气的书店老板 | Python | 数组、滑动窗口 | 中等 |
| 1423 | 可获得的最大点数 | Python | 数组、前缀和、滑动窗口 | 中等 |
| 1456 | 定长子串中元音的最大数目 | Python | 字符串、滑动窗口 | 中等 |
| 0567 | 字符串的排列 | Python | 哈希表、双指针、字符串、滑动窗口 | 中等 |
| 1100 | 长度为 K 的无重复字符子串 | Python | 哈希表、字符串、滑动窗口 | 中等 |
| 1151 | 最少交换次数来组合所有的 1 | Python | 数组、滑动窗口 | 中等 |
| 1176 | 健身计划评估 | Python | 数组、滑动窗口 | 简单 |
| 0438 | 找到字符串中所有字母异位词 | Python | 哈希表、字符串、滑动窗口 | 中等 |
| 0995 | K 连续位的最小翻转次数 | Python | 位运算、数组、前缀和、滑动窗口 | 困难 |
| 0683 | K 个关闭的灯泡 | Python | 树状数组、数组、有序集合、滑动窗口 | 苦难 |
| 0239 | 滑动窗口最大值 | Python | 队列,数组、滑动窗口、单调队列、堆(优先队列) | 困难 |
| 0480 | 滑动窗口中位数 | Python | 数组、哈希表、滑动窗口、堆(优先队列) | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0674 | 最长连续递增序列 | Python | 数组 | 简单 |
| 0485 | 最大连续 1 的个数 | Python | 数组 | 简单 |
| 0487 | 最大连续1的个数 II | Python | 数组、动态规划、滑动窗口 | 中等 |
| 1004 | 最大连续1的个数 III | Python | 双指针、滑动窗口 | 中等 |
| 0209 | 长度最小的子数组 | Python | 数组、双指针、二分查找 | 中等 |
| 0076 | 最小覆盖子串 | Python | 哈希表、字符串、滑动窗口 | 困难 |
| 1658 | 将 x 减到 0 的最小操作数 | Python | 数组、哈希表、二分查找、前缀和、滑动窗口 | 中等 |
| 0424 | 替换后的最长重复字符 | Python | 双指针、滑动窗口 | 中等 |
| 0003 | 无重复字符的最长子串 | Python | 字符串、哈希表、双指针、字符串、滑动窗口 | 中等 |
| 1695 | 删除子数组的最大得分 | Python | 数组、哈希表、滑动窗口 | 中等 |
| 1208 | 尽可能使字符串相等 | Python | 字符串、二分查找、前缀和、滑动窗口 | 中等 |
| 1493 | 删掉一个元素以后全为 1 的最长子数组 | Python | 数组、动态规划、滑动窗口 | 中等 |
| 0727 | 最小窗口子序列 | Python | 字符串、动态规划、滑动窗口 | 困难 |
| 0159 | 至多包含两个不同字符的最长子串 | Python | 哈希表、双指针、字符串、滑动窗口 | 中等 |
| 0340 | 至多包含 K 个不同字符的最长子串 | Python | 中等 | 哈希表、字符串、滑动窗口 |
| 0795 | 区间子数组个数 | Python | 数组、双指针 | 中等 |
| 0992 | K 个不同整数的子数组 | Python | 数组、哈希表、计数、滑动窗口 | 困难 |
| 0713 | 乘积小于K的子数组 | Python | 数组、滑动窗口 | 中等 |
| 0904 | 水果成篮 | Python | 数组、哈希表、滑动窗口 | 中等 |
| 1358 | 包含所有三种字符的子字符串数目 | Python | 哈希表、字符串、滑动数组 | 中等 |
| 0467 | 环绕字符串中唯一的子字符串 | Python | 字符串、动态规划 | 中等 |
| 0220 | 存在重复元素 III | Python | 排序、有序集合、哈希表 | 中等 |
| 1438 | 绝对差不超过限制的最长连续子数组 | Python | 队列、数组、有序集合、滑动窗口、单调队列、堆(优先队列) | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0707 | 设计链表 | Python | 链表 | 中等 |
| 0206 | 反转链表 | Python | 链表 | 简单 |
| 剑指 Offer 24 | 反转链表 | Python | 递归、链表 | 简单 |
| 剑指 Offer II 024 | 反转链表 | Python | 递归、链表 | 简单 |
| 0203 | 移除链表元素 | Python | 链表 | 简单 |
| 0328 | 奇偶链表 | Python | 链表 | 中等 |
| 0234 | 回文链表 | Python | 链表、双指针 | 简单 |
| 0430 | 扁平化多级双向链表 | Python | 链表 | 中等 |
| 0138 | 复制带随机指针的链表 | Python | 链表、哈希表 | 中等 |
| 0061 | 旋转链表 | Python | 链表、双指针 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0148 | 排序链表 | Python | 链表、双指针、分治、排序、归并排序 | 中等 |
| 0021 | 合并两个有序链表 | Python | 递归、链表 | 简单 |
| 0023 | 合并K个升序链表 | Python | 链表、分治、堆(优先队列)、归并排序 | 困难 |
| 0147 | 对链表进行插入排序 | Python | 链表、排序 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0141 | 环形链表 | Python | 链表、双指针 | 简单 |
| 0142 | 环形链表 II | Python | 链表、双指针 | 中等 |
| 0160 | 相交链表 | Python | 链表、双指针 | 简单 |
| 0019 | 删除链表的倒数第 N 个结点 | Python | 链表、双指针 | 中等 |
| 0876 | 链表的中间结点 | Python | 链表、指针 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0155 | 最小栈 | Python | 栈、设计 | 简单 |
| 0020 | 有效的括号 | Python | 栈、字符串 | 简单 |
| 0227 | 基本计算器 II | Python | 栈、字符串 | 中等 |
| 0739 | 每日温度 | Python | 栈、哈希表 | 中等 |
| 剑指 Offer II 038 | 每日温度 | Python | 栈、数组、单调栈 | 中等 |
| 0150 | 逆波兰表达式求值 | Python | 栈 | 中等 |
| 0232 | 用栈实现队列 | Python | 栈、设计 | 简单 |
| 0394 | 字符串解码 | Python | 栈、深度优先搜索 | 中等 |
| 0946 | 验证栈序列 | Python | 栈、数组、模拟 | 中等 |
| 剑指 Offer 06 | 从尾到头打印链表 | Python | 栈、递归、链表、双指针 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0200 | 岛屿数量 | Python | 搜索 | 中等 |
| 0133 | 克隆图 | Python | 深度优先搜索、广度优先搜索、图 | 中等 |
| 0494 | 目标和 | Python | 深度优先搜索、动态规划 | 中等 |
| 0144 | 二叉树的前序遍历 | Python | 栈、树 | 中等 |
| 0094 | 二叉树的中序遍历 | Python | 栈、树、哈希表 | 简单 |
| 0145 | 二叉树的后序遍历 | Python | 栈、树 | 简单 |
| 0589 | N 叉树的前序遍历 | Python | 栈、树、深度优先搜索 | 简单 |
| 0590 | N 叉树的后序遍历 | Python | 栈、树、深度优先搜索 | 简单 |
| 0841 | 钥匙和房间 | Python | 深度优先搜索、图 | 中等 |
| 0129 | 求根节点到叶节点数字之和 | Python | 树、深度优先搜索、二叉树 | 中等 |
| 0323 | 无向图中连通分量的数目 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0684 | 冗余连接 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0802 | 找到最终的安全状态 | Python | 深度优先搜索、广度优先搜索、图、拓扑排序 | 中等 |
| 0785 | 判断二分图 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0886 | 可能的二分法 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0323 | 无向图中连通分量的数目 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0695 | 岛屿的最大面积 | Python | 搜索 | 中等 |
| 0130 | 被围绕的区域 | Python | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
| 0417 | 太平洋大西洋水流问题 | Python | 深度优先搜索、广度优先搜索、数组、矩阵 | 中等 |
| 1020 | 飞地的数量 | Python | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
| 1254 | 统计封闭岛屿的数目 | Python | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
| 1034 | 边框着色 | Python | 深度优先搜索、广度优先搜索、数组、矩阵 | 中等 |
| 剑指 Offer 13 | 机器人的运动范围 | Python | 深度优先搜索、广度优先搜索、动态规划 | 中等 |
| 0529 | 扫雷游戏 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0739 | 每日温度 | Python | 栈、哈希表 | 中等 |
| 0496 | 下一个更大元素 I | Python | 栈、数组、哈希表、单调栈 | 简单 |
| 0503 | 下一个更大元素 II | Python | 栈、数组、单调栈 | 中等 |
| 0901 | 股票价格跨度 | Python | 栈、设计、数据流、单调栈 | 中等 |
| 0084 | 柱状图中最大的矩形 | Python | 栈、数组、单调栈 | 困难 |
| 0316 | 去除重复字母 | Python | 栈、贪心、字符串、单调栈 | 中等 |
| 1081 | 不同字符的最小子序列 | Python | 栈、贪心、字符串、单调栈 | 中等 |
| 0042 | 接雨水 | Python | 栈、数组、双指针、动态规划、单调栈 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0622 | 设计循环队列 | Python | 队列 | 中等 |
| 0346 | 数据流中的移动平均值 | Python | 设计、队列、数组、数据流 | 简单 |
| 0225 | 用队列实现栈 | Python | 栈、设计 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0286 | 墙与门 | Python | 广度优先搜索 | 中等 |
| 0200 | 岛屿数量 | Python | 搜索 | 中等 |
| 0752 | 打开转盘锁 | Python | 广度优先搜索 | 中等 |
| 0279 | 完全平方数 | Python | 广度优先搜索、数学、动态规划 | 中等 |
| 0133 | 克隆图 | Python | 深度优先搜索、广度优先搜索、图 | 中等 |
| 0733 | 图像渲染 | Python | 深度优先搜索 | 简单 |
| 0542 | 01 矩阵 | Python | 深度优先搜索、广度优先搜索 | 中等 |
| 0322 | 零钱兑换 | Python | 动态规划 | 中等 |
| 0207 | 课程表 | Python | 深度优先搜索、广度优先搜索、图、拓扑排序 | 中等 |
| 0210 | 课程表 II | Python | 深度优先搜索、广度优先搜索、图、拓扑排序 | 中等 |
| 1136 | 平行课程 | Python | 图、拓扑排序 | 中等 |
| 0323 | 无向图中连通分量的数目 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 剑指 Offer 13 | 机器人的运动范围 | Python | 深度优先搜索、广度优先搜索、动态规划 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0703 | 数据流中的第 K 大元素 | Python | 树、设计、二叉搜索树、二叉树、数据流、堆(优先队列) | 简单 |
| 0347 | 前 K 个高频元素 | Python | 堆、哈希表 | 中等 |
| 0451 | 根据字符出现频率排序 | Python | 哈希表、字符串、桶排序、计数、排序、堆(优先队列) | 中等 |
| 0973 | 最接近原点的 K 个点 | |||
| 1296 | 划分数组为连续数字的集合 | |||
| 0239 | 滑动窗口最大值 | Python | 队列,数组、滑动窗口、单调队列、堆(优先队列) | 困难 |
| 0295 | 数据流的中位数 | Python | 设计、双指针、数据流、排序、堆(优先队列) | 困难 |
| 0023 | 合并K个升序链表 | Python | 链表、分治、堆(优先队列)、归并排序 | 困难 |
| 0218 | 天际线问题 | Python | 树状数组、线段树、数组、分治、有序集合、扫描线、堆(优先队列) | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0705 | 设计哈希集合 | Python | 哈希表 | 简单 |
| 0706 | 设计哈希映射 | Python | 哈希表 | 简单 |
| 0217 | 存在重复元素 | Python | 数组、哈希表 | 简单 |
| 0219 | 存在重复元素 II | Python | 数组、哈希表 | 简单 |
| 0220 | 存在重复元素 III | Python | 排序、有序集合、哈希表 | 中等 |
| 0136 | 只出现一次的数字 | Python | 位运算、位运算 | 简单 |
| 0383 | 赎金信 | Python | 哈希表、字符串、计数 | 简单 |
| 0349 | 两个数组的交集 | Python | 数组、哈希表 | 简单 |
| 0350 | 两个数组的交集 II | Python | 数组、哈希表 | 简单 |
| 0036 | 有效的数独 | Python | 哈希表 | 中等 |
| 0001 | 两数之和 | Python | 数组、哈希表 | 简单 |
| 0015 | 三数之和 | Python | 数组、双指针 | 中等 |
| 0018 | 四数之和 | Python | 数组、哈希表、双指针 | 中等 |
| 0454 | 四数相加 II | Python | 哈希表 | 中等 |
| 0041 | 缺失的第一个正数 | |||
| 0128 | 最长连续序列 | Python | 并查集、数组、哈希表 | 中等 |
| 0202 | 快乐数 | Python | 哈希表、数学 | 简单 |
| 0242 | 有效的字母异位词 | Python | 字符串、哈希表、排序 | 简单 |
| 0205 | 同构字符串 | Python | 哈希表 | 简单 |
| 0451 | 根据字符出现频率排序 | Python | 哈希表、字符串、桶排序、计数、排序、堆(优先队列) | 中等 |
| 0049 | 字母异位词分组 | Python | 字符串、哈希表 | 中等 |
| 0599 | 两个列表的最小索引总和 | Python | 哈希表 | 简单 |
| 0387 | 字符串中的第一个唯一字符 | Python | 字符串、哈希表 | 简单 |
| 0447 | 回旋镖的数量 | Python | 哈希表、数学 | 中等 |
| 0149 | 直线上最多的点数 | Python | 哈希表、数学 | 困难 |
| 0359 | 日志速率限制器 | Python | 设计、哈希表 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0125 | 验证回文串 | Python | 字符串、双指针 | 简单 |
| 0557 | 反转字符串中的单词 III | Python | 字符串 | 简单 |
| 0049 | 字母异位词分组 | Python | 字符串、哈希表 | 中等 |
| 0003 | 无重复字符的最长子串 | Python | 字符串、哈希表、双指针、字符串、滑动窗口 | 中等 |
| 0005 | 最长回文子串 | Python | 字符串、动态规划 | 中等 |
| 0344 | 反转字符串 | Python | 字符串 | 简单 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0208 | 实现 Trie (前缀树) | Python | 设计、字典树、哈希表、字符串 | 中等 |
| 0677 | 键值映射 | Python | 设计、字典树、哈希表、字符串 | 中等 |
| 0648 | 单词替换 | Python | 字典树、数组、哈希、字符串 | 中等 |
| 0642 | 设计搜索自动补全系统 | Python | 设计、字典树、字符串、数据流 | 困难 |
| 0211 | 添加与搜索单词 - 数据结构设计 | Python | 深度优先搜索、设计、字典树、字符串 | 中等 |
| 0421 | 数组中两个数的最大异或值 | Python | 位运算、字典树、数组、哈希表 | 中等 |
| 0212 | 单词搜索 II | Python | 字典树、数组、字符串、回溯、矩阵 | 困难 |
| 0425 | 单词方块 | Python | 字典树、数组、字符串、回溯 | 困难 |
| 0336 | 回文对 | Python | 字典树、数组、哈希表、字符串 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0144 | 二叉树的前序遍历 | Python | 栈、树 | 中等 |
| 0094 | 二叉树的中序遍历 | Python | 栈、树、哈希表 | 简单 |
| 0145 | 二叉树的后序遍历 | Python | 栈、树 | 简单 |
| 0102 | 二叉树的层序遍历 | Python | 树、广度优先搜索 | 中等 |
| 0103 | 二叉树的锯齿形层序遍历 | Python | 树、广度优先搜索、二叉树 | 中等 |
| 0107 | 二叉树的层序遍历 II | Python | 树、广度优先搜索 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0104 | 二叉树的最大深度 | Python | 树、深度优先搜索、递归 | 简单 |
| 0101 | 对称二叉树 | Python | 树、深度优先搜索、广度优先搜索 | 简单 |
| 0112 | 路径总和 | Python | 树、深度优先搜索 | 简单 |
| 0113 | 路径总和 II | Python | 树、深度优先搜索、回溯、二叉树 | 中等 |
| 0236 | 二叉树的最近公共祖先 | Python | 树 | 中等 |
| 0297 | 二叉树的序列化与反序列化 | Python | 树、设计 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0105 | 从前序与中序遍历序列构造二叉树 | Python | 树、数组、哈希表、分治、二叉树 | 中等 |
| 0106 | 从中序与后序遍历序列构造二叉树 | Python | 树、数组、哈希表、分治、二叉树 | 中等 |
| 0116 | 填充每个节点的下一个右侧节点指针 | Python | 树、深度优先搜索、广度优先搜索 | 中等 |
| 0117 | 填充每个节点的下一个右侧节点指针 II | Python | 树、深度优先遍历 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0098 | 验证二叉搜索树 | Python | 树、深度优先搜索、递归 | 中等 |
| 0173 | 二叉搜索树迭代器 | Python | 栈、树、设计 | 中等 |
| 0700 | 二叉搜索树中的搜索 | Python | 数 | 简单 |
| 0701 | 二叉搜索树中的插入操作 | Python | 树 | 中等 |
| 0450 | 删除二叉搜索树中的节点 | Python | 树 | 中等 |
| 0703 | 数据流中的第 K 大元素 | Python | 树、设计、二叉搜索树、二叉树、数据流、堆(优先队列) | 简单 |
| 0235 | 二叉搜索树的最近公共祖先 | Python | 树 | 简单 |
| 剑指 Offer 68 - I | 二叉搜索树的最近公共祖先 | Python | 树、深度优先搜索、二叉搜索树、二叉树 | 简单 |
| 0110 | 平衡二叉树 | Python | 树、深度优先搜索、递归 | 简单 |
| 剑指 Offer 55 - II | 平衡二叉树 | Python | 树、深度优先搜索、二叉树 | 简单 |
| 0108 | 将有序数组转换为二叉搜索树 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0315 | 计算右侧小于当前元素的个数 | Python | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0990 | 等式方程的可满足性 | Python | 并查集、图、数组、字符串 | 中等 |
| 0547 | 省份数量 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 剑指 Offer II 116 | 朋友圈 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0684 | 冗余连接 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 1319 | 连通网络的操作次数 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 0765 | 情侣牵手 | Python | 贪心、深度优先搜索、广度优先搜索、并查集、图 | 困难 |
| 0399 | 除法求值 | Python | 深度优先搜索、广度优先搜索、并查集、图、数组、最短路 | 中等 |
| 0959 | 由斜杠划分区域 | Python | 深度优先搜索、广度优先搜索、并查集、图 | 中等 |
| 1631 | 最小体力消耗路径 | Python | 深度优先搜索、广度优先搜索、并查集、数组、二分查找、矩阵、堆(优先队列) | 中等 |
| 0778 | 水位上升的泳池中游泳 | Python | 深度优先搜索、广度优先搜索、并查集、数组、二分查找、矩阵、堆(优先队列) | 困难 |
| 1202 | 交换字符串中的元素 | Python | 深度优先搜索、广度优先搜索、并查集、哈希表、字符串 | 中等 |
| 0947 | 移除最多的同行或同列石头 | Python | 深度优先搜索、并查集、图 | 中等 |
| 0803 | 打砖块 | Python | 并查集、数组、矩阵 | 困难 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0204 | 计数质数 | Python | 数学、哈希表 | 简单 |
| 剑指 Offer 57 - II | 和为s的连续正数序列 | Python | 数学、双指针、枚举 | 简单 |
| 0800 | 相似 RGB 颜色 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0344 | 反转字符串 | Python | 字符串 | 简单 |
| 0024 | 两两交换链表中的节点 | Python | 递归、链表 | 中等 |
| 0118 | 杨辉三角 | Python | 数组 | 简单 |
| 0119 | 杨辉三角 II | Python | 数组 | 简单 |
| 0206 | 反转链表 | Python | 链表 | 简单 |
| 剑指 Offer 24 | 反转链表 | Python | 递归、链表 | 简单 |
| 剑指 Offer II 024 | 反转链表 | Python | 递归、链表 | 简单 |
| 0509 | 斐波那契数 | Python | 数组 | 简单 |
| 0070 | 爬楼梯 | Python | 动态规划 | 简单 |
| 0104 | 二叉树的最大深度 | Python | 树、深度优先搜索、递归 | 简单 |
| 0050 | Pow(x, n) | Python | 数学、二分查找 | 中等 |
| 0021 | 合并两个有序链表 | Python | 递归、链表 | 简单 |
| 0779 | 第K个语法符号 | Python | 递归 | 中等 |
| 0095 | 不同的二叉搜索树 II | Python | 树、二叉搜索树、动态规划、回溯、二叉树 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0046 | 全排列 | Python | 回溯算法 | 中等 |
| 0047 | 全排列 II | Python | 数组、回溯 | 中等 |
| 0037 | 解数独 | Python | 数组、回溯、矩阵 | 困难 |
| 0022 | 括号生成 | Python | 字符串、回溯算法 | 中等 |
| 0017 | 电话号码的字母组合 | Python | 深度优先搜索、递归、字符串、回溯算法 | 中等 |
| 0784 | 字母大小写全排列 | Python | 位运算、字符串、回溯 | 中等 |
| 0039 | 组合总和 | Python | 数组、回溯 | 中等 |
| 0040 | 组合总和 II | Python | 数组、回溯 | 中等 |
| 0078 | 子集 | Python | 位运算、数组、回溯算法 | 中等 |
| 0090 | 子集 II | Python | 位运算、数组、回溯 | 中等 |
| 0473 | 火柴拼正方形 | Python | 位运算、数组、动态规划、回溯、状态压缩 | 中等 |
| 1593 | 拆分字符串使唯一子字符串的数目最大 | Python | 哈希表、字符串、回溯 | 中等 |
| 1079 | 活字印刷 | Python | 字符串、回溯 | 中等 |
| 0079 | 单词搜索 | Python | 数组、回溯算法 | 中等 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0455 | 分发饼干 | Python | 贪心、数组、排序 | 简单 |
| 0860 | 柠檬水找零 | Python | 贪心、数组 | 简单 |
| 0056 | 合并区间 | |||
| 0435 | 无重叠区间 | Python | 贪心、数组、动态规划、排序 | 中等 |
| 0452 | 用最少数量的箭引爆气球 | Python | 贪心、数组、排序 | 中等 |
| 0055 | 跳跃游戏 | Python | 贪心算法、数组、动态规划 | 中等 |
| 0045 | 跳跃游戏 II | Python | 贪心、数组、动态规划 | 中等 |
| 0392 | 判断子序列 | Python | 双指针、字符串、动态规划 | 简单 |
| 0122 | 买卖股票的最佳时机 II | Python | 数组、贪心算法 | 简单 |
| 0561 | 数组拆分 I | Python | 数组 | 简单 |
| 1710 | 卡车上的最大单元数 | |||
| 1217 | 玩筹码 | |||
| 1247 | 交换字符使得字符串相同 | |||
| 1400 | 构造 K 个回文字符串 | |||
| 0921 | 使括号有效的最少添加 | |||
| 1029 | 两地调度 | |||
| 1605 | 给定行和列的和求可行矩阵 | |||
| 0135 | 分发糖果 | Python | 贪心、数组 | 困难 |
| 0053 | 最大子序和 | Python | 数组、分治算法、动态规划 | 简单 |
| 0376 | 摆动序列 | Python | 贪心、数组、动态规划 | 中等 |
| 0738 | 单调递增的数字 | Python | 贪心、数学 | 中等 |
| 0402 | 移掉 K 位数字 | |||
| 0861 | 翻转矩阵后的得分 |
| 题号 | 标题 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 0504 | 七进制数 | Python | 数学 | 简单 |
| 0405 | 数字转换为十六进制数 | Python | 位运算、数学 | 简单 |
| 0190 | 颠倒二进制位 | Python | 位运算 | 简单 |
| 0191 | 位1的个数 | Python | 位运算 | 简单 |
| 0371 | 两整数之和 | Python | 位运算 | 中等 |
| 0089 | 格雷编码 | Python | 位运算、数学、回溯 | 中等 |
| 0201 | 数字范围按位与 | |||
| 0338 | 比特位计数 | Python | 位运算、动态规划 | 简单 |
| 0136 | 只出现一次的数字 | Python | 位运算、位运算 | 简单 |
| 0137 | 只出现一次的数字 II | Python | 位运算、数组 | 简单 |
| 260 | 只出现一次的数字 III | |||
| 1349 | 参加考试的最大学生数 | |||
| 0645 | 错误的集合 |