差分/前缀和
题目 | 难度 | 标签 |
---|---|---|
1109. 航班预订统计 | 中等 | 差分 |
2055. 蜡烛之间的盘子 | 中等 | 前缀和 |
798. 得分最高的最小轮调 | 困难 | 差分 |
数据结构
题目 | 难度 | 标签 |
---|---|---|
20. 有效的括号 | 简单 | 栈 |
21. 合并两个有序链表 | 简单 | 链表 |
101. 对称二叉树 | 简单 | 二叉树,dfs |
104. 二叉树的最大深度 | 简单 | 二叉树,bfs |
155. 最小栈 | 简单 | 栈 |
206. 反转链表 | 简单 | 链表 |
226. 翻转二叉树 | 简单 | 二叉树 |
234. 回文链表 | 简单 | 快慢指针,反转链表 |
543. 二叉树的直径 | 简单 | 二叉树,dfs |
606. 根据二叉树创建字符串 | 简单 | 二叉树,dfs |
653. 两数之和 IV - 输入 BST | 简单 | 哈希表,dfs |
682. 棒球比赛 | 简单 | 栈 |
2. 两数相加 | 中等 | 链表 |
307. 区域和检索 - 数组可修改 | 中等 | 线段树 |
954. 二倍数对数组 | 中等 | map,sort |
2039. 网络空闲的时刻 | 中等 | 图,bfs |
2044. 统计按位或能得到最大值的子集数目 | 中等 | dfs |
2104. 子数组范围和 | 中等 | 单调栈,记录左右端点 |
2196. 根据描述创建二叉树 | 中等 | 重建二叉树,哈希表 |
2192. 有向无环图中一个节点的所有祖先 | 中等 | 有向无环图,BFS,搜索祖先结点 |
5235. 找出输掉零场或一场比赛的玩家 | 中等 | map遍历 |
2212. 射箭比赛中的最大得分 | 中等 | dfs,回溯 |
32. 最长有效括号 | 困难 | 栈 |
84. 柱状图中最大的矩形 | 困难 | 单调栈,记录左右端点 |
85. 最大矩形 | 困难 | 单调栈 |
197. 替换数组中的非互质数 | 困难 | 栈模拟,gcd |
239. 滑动窗口最大值 | 困难 | 单调队列 |
432. 全 O(1) 的数据结构 | 困难 | 双向链表,哈希表 |
440. 字典序的第K小数字 | 困难 | 字典树 |
1606. 找到处理最多请求的服务器 | 困难 | 优先队列,模拟 |
5302. 加密解密字符串 | 困难 | map,模拟 |
6032. 得到要求路径的最小带权子图 | 困难 | dijkstra,带权有向图,枚举中间节点 |
动态规划
题目 | 难度 | 标签 |
---|---|---|
5. 最长回文子串 | 中等 | 回文串 |
10. 正则表达式匹配 | 中等 | 二维dp数组 |
2100. 适合打劫银行的日子 | 中等 | 记录连续升降序 |
2218. 从栈中取出 K 个硬币的最大面值和 | 困难 | 背包 |
二分
题目 | 难度 | 标签 |
---|---|---|
2187. 完成旅途的最少时间 | 中等 | 二分答案 |
5219. 每个小孩最多能分到多少糖果 | 中等 | 二分答案 |
4. 寻找两个正序数组的中位数 | 困难 | 二分,堆(不是最优解) |
字符串
题目 | 难度 | 标签 |
---|---|---|
14. 最长公共前缀 | 简单 | 模拟,字符串 |
28. 实现 strStr() | 简单 | KMP |
599. 两个列表的最小索引总和 | 简单 | 哈希表,字符串 |
720. 词典中最长的单词 | 简单 | 匹配子串 |
2217. 找到指定长度的回文数 | 中等 | 回文串 |
564. 寻找最近的回文数 | 困难 | 回文串,构造 |
2193. 得到回文串的最少操作次数 | 困难 | 回文串,贪心 |
其他
题目 | 难度 | 标签 |
---|---|---|
141. 环形链表 | 简单 | 快慢指针 |
160. 相交链表 | 简单 | 数学,链表 |
521. 最长特殊序列 Ⅰ | 简单 | 脑筋急转弯 |
693. 交替位二进制数 | 简单 | 二进制 |
2210. 统计数组中峰和谷的数量 | 简单 | 模拟 |
6031. 找出数组中的所有 K 近邻下标 | 简单 | 模拟 |
3. 无重复字符的最长子串 | 中等 | 滑动窗口 |
6. Z 字形变换 | 中等 | 模拟 |
172. 阶乘后的零 | 中等 | 数学 |
393. UTF-8 编码验证 | 中等 | 二进制 |
2028. 找出缺失的观测数据 | 中等 | 模拟 |
2038. 如果相邻两个颜色均相同则删除当前颜色 | 中等 | 模拟 |
2024. 考试的最大困扰度 | 中等 | 滑动窗口 |
2043. 简易银行系统 | 中等 | 模拟 |
2191. 将杂乱无章的数字排序 | 中等 | 模拟,sort |
2195. 向数组中追加 K 个整数 | 中等 | 数学 |
2211. 统计道路上的碰撞次数 | 中等 | 模拟 |
5203. 统计可以提取的工件 | 中等 | 模拟 |
5227. K 次操作后最大化顶端元素 | 中等 | 模拟 |