跳至主要內容


全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号标题题解标签难度
20有效的括号open in new window[✓] 字符串
32最长有效括号open in new window[✓] 字符串 动态规划
42接雨水open in new window[✓] 数组 双指针 2+
71简化路径open in new window[✓] 字符串
84柱状图中最大的矩形open in new window[✓] 数组 单调栈
85最大矩形open in new window[✓] 数组 动态规划 2+
94二叉树的中序遍历open in new window[✓] 深度优先搜索 1+
114二叉树展开为链表open in new window[✓] 深度优先搜索 2+
143重排链表open in new window[✓] 递归 链表 1+
144二叉树的前序遍历open in new window[✓] 深度优先搜索 1+
145二叉树的后序遍历open in new window[✓] 深度优先搜索 1+
150逆波兰表达式求值open in new window[✓] 数组 数学
155最小栈open in new window[✓] 设计
173二叉搜索树迭代器open in new window[✓] 设计 3+
224基本计算器open in new window[✓] 递归 数学 1+
225用队列实现栈open in new window[✓] 设计 队列
227基本计算器 IIopen in new window[✓] 数学 字符串
232用栈实现队列open in new window[✓] 设计 队列
234回文链表open in new window[✓] 递归 链表 1+
255验证二叉搜索树的前序遍历序列 🔒open in new window 二叉搜索树 4+
272最接近的二叉搜索树值 II 🔒open in new window 深度优先搜索 4+
316去除重复字母open in new window[✓] 贪心 字符串 1+
321拼接最大数open in new window 贪心 数组 2+
331验证二叉树的前序序列化open in new window 字符串 1+
341扁平化嵌套列表迭代器open in new window 深度优先搜索 3+
364嵌套列表加权和 II 🔒open in new window 深度优先搜索 广度优先搜索
385迷你语法分析器open in new window 深度优先搜索 字符串
388文件的最长绝对路径open in new window 深度优先搜索 字符串
394字符串解码open in new window[✓] 递归 字符串
402移掉 K 位数字open in new window 贪心 字符串 1+
426将二叉搜索树转化为排序的双向链表 🔒open in new window[✓] 深度优先搜索 4+
439三元表达式解析器 🔒open in new window 递归 字符串
445两数相加 IIopen in new window[✓] 链表 数学
456132 模式open in new window 数组 二分查找 2+
484寻找排列 🔒open in new window 贪心 数组 1+
488祖玛游戏open in new window 广度优先搜索 记忆化搜索 2+
496下一个更大元素 Iopen in new window[✓] 数组 哈希表 1+
503下一个更大元素 IIopen in new window[✓] 数组 单调栈
536从字符串生成二叉树 🔒open in new window 深度优先搜索 2+
581最短无序连续子数组open in new window 贪心 数组 3+
589N 叉树的前序遍历open in new window[✓] 深度优先搜索
590N 叉树的后序遍历open in new window[✓] 深度优先搜索
591标签验证器open in new window 字符串
636函数的独占时间open in new window 数组
654最大二叉树open in new window[✓] 数组 3+
678有效的括号字符串open in new window[✓] 贪心 字符串 1+
682棒球比赛open in new window[✓] 数组 模拟
716最大栈 🔒open in new window 设计 链表 2+
726原子的数量open in new window 哈希表 字符串 1+
735小行星碰撞open in new window 数组 模拟
736Lisp 语法解析open in new window 递归 哈希表 1+
739每日温度open in new window[✓] 数组 单调栈
768最多能完成排序的块 IIopen in new window 贪心 数组 2+
769最多能完成排序的块open in new window 贪心 数组 2+
770基本计算器 IVopen in new window 递归 哈希表 2+
772基本计算器 III 🔒open in new window[✓] 递归 数学 1+
844比较含退格的字符串open in new window[✓] 双指针 字符串 1+
853车队open in new window 数组 排序 1+
856括号的分数open in new window 字符串
880索引处的解码字符串open in new window[✓] 字符串
895最大频率栈open in new window 设计 哈希表 1+
897递增顺序搜索树open in new window 深度优先搜索 2+
901股票价格跨度open in new window 设计 数据流 1+
907子数组的最小值之和open in new window 数组 动态规划 1+
921使括号有效的最少添加open in new window[✓] 贪心 字符串
936戳印序列open in new window 贪心 队列 1+
946验证栈序列open in new window[✓] 数组 模拟
962最大宽度坡open in new window[✓] 数组 单调栈
975奇偶跳open in new window 数组 动态规划 2+
1003检查替换后的词是否有效open in new window 字符串
1006笨阶乘open in new window 数学 模拟
1008前序遍历构造二叉搜索树open in new window[✓] 二叉搜索树 3+
1019链表中的下一个更大节点open in new window 数组 链表 1+
1021删除最外层的括号open in new window[✓] 字符串
1047删除字符串中的所有相邻重复项open in new window[✓] 字符串
1063有效子数组的数目 🔒open in new window 数组 单调栈
1081不同字符的最小子序列open in new window[✓] 贪心 字符串 1+
1096花括号展开 IIopen in new window 广度优先搜索 字符串 1+
1106解析布尔表达式open in new window[✓] 递归 字符串
1111有效括号的嵌套深度open in new window 字符串
1124表现良好的最长时间段open in new window 数组 哈希表 2+
1130叶值的最小代价生成树open in new window 贪心 数组 2+
1172餐盘栈open in new window 设计 哈希表 1+
1190反转每对括号间的子串open in new window[✓] 字符串
1209删除字符串中的所有相邻重复项 IIopen in new window 字符串
1214查找两棵二叉搜索树之和 🔒open in new window 深度优先搜索 4+
1249移除无效的括号open in new window 字符串
1265逆序打印不可变链表 🔒open in new window 递归 链表 1+
1381设计一个支持增量操作的栈open in new window[✓] 设计 数组
1441用栈操作构建数组open in new window[✓] 数组 模拟
1472设计浏览器历史记录open in new window[✓] 设计 数组 3+
1475商品折扣后的最终价格open in new window[✓] 数组 单调栈
1504统计全 1 子矩形open in new window 数组 动态规划 2+
1526形成目标数组的子数组最少增加次数open in new window 贪心 数组 2+
1541平衡括号字符串的最少插入次数open in new window 贪心 字符串
1544整理字符串open in new window 字符串
1574删除最短的子数组使剩余数组有序open in new window 数组 双指针 2+
1586二叉搜索树迭代器 II 🔒open in new window 设计 3+
1597根据中缀表达式构造二叉表达式树 🔒open in new window 字符串 1+
1598文件夹操作日志搜集器open in new window 数组 字符串
1614括号的最大嵌套深度open in new window 字符串
1628设计带解析函数的表达式树 🔒open in new window 设计 3+
1653使字符串平衡的最少删除次数open in new window 字符串 动态规划
1673找出最具竞争力的子序列open in new window 贪心 数组 1+
1700无法吃午餐的学生数量open in new window 队列 数组 1+
1717删除子字符串的最大得分open in new window 贪心 字符串
1756设计最近使用(MRU)队列 🔒open in new window 设计 树状数组 3+
1762能看到海景的建筑物 🔒open in new window 数组 单调栈
1776车队 IIopen in new window 数组 数学 2+
1793好子数组的最大分数open in new window 数组 双指针 2+
1856子数组最小乘积的最大值open in new window 数组 前缀和 1+
1896反转表达式值的最少操作次数open in new window 数学 字符串 1+
1910删除一个字符串中所有出现的给定子字符串open in new window 字符串 模拟
1944队列中可以看到的人数open in new window 数组 单调栈
1950所有子数组最小值中的最大值 🔒open in new window 数组 单调栈
1963使字符串平衡的最小交换次数open in new window[✓] 贪心 双指针 1+
1996游戏中弱角色的数量open in new window 贪心 数组 2+
2000反转单词前缀open in new window 双指针 字符串
2019解出数学表达式的学生分数open in new window 记忆化搜索 数组 3+
2030含特定字母的最小子序列open in new window 贪心 字符串 1+
2104子数组范围和open in new window 数组 单调栈
2116判断一个括号字符串是否有效open in new window 贪心 字符串
2130链表最大孪生和open in new window 链表 双指针
2197替换数组中的非互质数open in new window 数组 数学 1+
2211统计道路上的碰撞次数open in new window 字符串 模拟
2216美化数组的最少删除数open in new window 贪心 数组
2254设计视频共享平台 🔒open in new window 设计 哈希表 1+
2281巫师的总力量和open in new window 数组 前缀和 1+
2282在一个网格中可以看到的人数 🔒open in new window 数组 矩阵 1+
2289使数组按非递减顺序排列open in new window 数组 链表 1+
2296设计一个文本编辑器open in new window 设计 链表 3+
2297跳跃游戏 VIII 🔒open in new window 数组 3+
2334元素值大于变化阈值的子数组open in new window 并查集 数组 1+
2345寻找可见山的数量 🔒open in new window 数组 排序 1+
2355你能拿走的最大图书数量 🔒open in new window 数组 动态规划 1+
2375根据模式串构造最小数字open in new window 贪心 字符串 1+
2390从字符串中移除星号open in new window 字符串 模拟
2434使用机器人打印字典序最小的字符串open in new window 贪心 哈希表 1+
2454下一个更大元素 IVopen in new window 数组 二分查找 3+
2487从链表中移除节点open in new window 递归 链表 1+
2589完成所有任务的最少时间open in new window 贪心 数组 2+
2617网格图中最少访问的格子数open in new window 广度优先搜索 并查集 5+
2645构造有效字符串的最少插入数open in new window 贪心 字符串 1+
2696删除子串后的字符串最小长度open in new window[✓] 字符串 模拟
2736最大和查询open in new window 树状数组 线段树 4+
2751机器人碰撞open in new window 数组 排序 1+
2764数组是否表示某二叉树的前序遍历 🔒open in new window 深度优先搜索 1+
2813子序列最大优雅度open in new window 贪心 数组 3+
2816翻倍以链表形式表示的数字open in new window 链表 数学
2818操作使得分最大open in new window 贪心 数组 3+
2832每个元素为最大值的最大范围 🔒open in new window 数组 单调栈
2863最长半递减子数组的长度 🔒open in new window 数组 排序 1+
2865美丽塔 Iopen in new window 数组 单调栈
2866美丽塔 IIopen in new window 数组 单调栈
2940找到 Alice 和 Bob 可以相遇的建筑open in new window 树状数组 线段树 4+
2945找到最大非递减数组的长度open in new window 队列 数组 4+
3113边界元素是最大值的子数组数目open in new window 数组 二分查找 1+
3170删除星号以后字典序最小的字符串open in new window 贪心 哈希表 2+
3174清除数字open in new window 字符串 模拟
3205最大数组跳跃得分 I 🔒open in new window 贪心 数组 2+
3221最大数组跳跃得分 II 🔒open in new window 贪心 数组 1+
3229使数组等于目标数组所需的最少操作次数open in new window 贪心 数组 2+
剑指 Offer 30包含min函数的栈open in new window[✓] 设计
剑指 Offer 31栈的压入、弹出序列open in new window[✓] 数组 模拟
剑指 Offer 33二叉搜索树的后序遍历序列open in new window[✓] 二叉搜索树 4+
剑指 Offer 36二叉搜索树与双向链表open in new window[✓] 深度优先搜索 4+
剑指 Offer 6从尾到头打印链表open in new window[✓] 递归 链表 1+
剑指 Offer 9用两个栈实现队列open in new window[✓] 设计 队列
剑指 Offer II 25链表中的两数相加open in new window[✓] 链表 数学
剑指 Offer II 26重排链表open in new window[✓] 递归 链表 1+
剑指 Offer II 27回文链表open in new window[✓] 递归 链表 1+
剑指 Offer II 36后缀表达式open in new window[✓] 数组 数学
剑指 Offer II 37小行星碰撞open in new window 数组 模拟
剑指 Offer II 38每日温度open in new window[✓] 数组 单调栈
剑指 Offer II 39直方图最大矩形面积open in new window[✓] 数组 单调栈
剑指 Offer II 40矩阵中最大的矩形open in new window[✓] 数组 动态规划 2+
剑指 Offer II 52展平二叉搜索树open in new window 深度优先搜索 2+
剑指 Offer II 55二叉搜索树迭代器open in new window[✓] 设计 3+
面试题 02.06回文链表open in new window 递归 链表 1+
面试题 03.01三合一open in new window 设计 数组
面试题 03.02栈的最小值open in new window 设计
面试题 03.03堆盘子open in new window 设计 链表
面试题 03.04化栈为队open in new window 设计 队列
面试题 03.05栈排序open in new window 设计 单调栈
面试题 16.16部分排序open in new window 贪心 数组 3+
面试题 16.26计算器open in new window 数学 字符串
面试题 17.12BiNodeopen in new window 深度优先搜索 3+
面试题 17.21直方图的水量open in new window 数组 双指针 2+