- juxq's blog
《算法通关手册》算法分类题单(原始)2
- 2024-4-8 9:14:23 @
#03. 堆栈
#堆栈基础题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
1047 | 删除字符串中的所有相邻重复项 | Python | 栈、字符串 | 简单 |
0155 | 最小栈 | Python | 栈、设计 | 中等 |
0020 | 有效的括号 | Python | 栈、字符串 | 简单 |
0227 | 基本计算器 II | Python | 栈、数学、字符串 | 中等 |
0739 | 每日温度 | Python | 栈、数组、单调栈 | |
0150 | 逆波兰表达式求值 | Python | 栈、数组、数学 | |
0232 | 用栈实现队列 | Python | 栈、设计、队列 | 简单 |
剑指 Offer 09 | 用两个栈实现队列 | Python | ||
0394 | 字符串解码 | Python | 栈、递归、字符串 | 中等 |
0032 | 最长有效括号 | Python | 栈、字符串、动态规划 | 困难 |
0946 | 验证栈序列 | Python | 栈、数组、模拟 | 中等 |
剑指 Offer 06 | 从尾到头打印链表 | Python | 栈、递归、链表、双指针 | 简单 |
0071 | 简化路径 | 栈、字符串 | 中等 |
#单调栈
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0739 | 每日温度 | Python | 栈、数组、单调栈 | 中等 |
0496 | 下一个更大元素 I | Python | 栈、数组、哈希表、单调栈 | 简单 |
0503 | 下一个更大元素 II | Python | 栈、数组、单调栈 | 中等 |
0901 | 股票价格跨度 | Python | 栈、设计、数据流、单调栈 | |
0084 | 柱状图中最大的矩形 | Python | 栈、数组、单调栈 | 困难 |
0316 | 去除重复字母 | Python | 栈、贪心、字符串、单调栈 | 中等 |
0042 | 接雨水 | Python | 栈、数组、双指针、动态规划、单调栈 | 困难 |
0085 | 最大矩形 | 栈、数组、动态规划、矩阵、单调栈 | ||
0862 | 和至少为 K 的最短子数组 | Python | 队列、数组、二分查找、前缀和、滑动窗口、单调队列、堆(优先队列) |
#04. 队列
#队列基础题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0622 | 设计循环队列 | Python | 设计、队列、数组、链表 | 中等 |
0346 | 数据流中的移动平均值 | Python | 设计、队列、数组、数据流 | 简单 |
0225 | 用队列实现栈 | Python | 栈、设计、队列 |
#优先队列题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0703 | 数据流中的第 K 大元素 | Python | 树、设计、二叉搜索树、二叉树、数据流、堆(优先队列) | 简单 |
0347 | 前 K 个高频元素 | Python | 数组、哈希表、分治、桶排序、计数、快速选择、排序、堆(优先队列) | 中等 |
0451 | 根据字符出现频率排序 | Python | 哈希表、字符串、桶排序、计数、排序、堆(优先队列) | |
0973 | 最接近原点的 K 个点 | Python | 几何、数组、数学、分治、快速选择、排序、堆(优先队列) | |
1296 | 划分数组为连续数字的集合 | Python | 贪心、数组、哈希表、排序 | |
0239 | 滑动窗口最大值 | Python | 队列、数组、滑动窗口、单调队列、堆(优先队列) | 困难 |
0295 | 数据流的中位数 | Python | 设计、双指针、数据流、排序、堆(优先队列) | |
0023 | 合并 K 个升序链表 | Python | 链表、分治、堆(优先队列)、归并排序 | |
0218 | 天际线问题 | Python | 树状数组、线段树、数组、分治、有序集合、扫描线、堆(优先队列) |
#05. 哈希表
#哈希表题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0705 | 设计哈希集合 | Python | 设计、数组、哈希表、链表、哈希函数 | 简单 |
0706 | 设计哈希映射 | Python | ||
0217 | 存在重复元素 | Python | 数组、哈希表、排序 | |
0219 | 存在重复元素 II | Python | 数组、哈希表、滑动窗口 | |
0220 | 存在重复元素 III | Python | 数组、桶排序、有序集合、排序、滑动窗口 | 困难 |
1941 | 检查是否所有字符出现次数相同 | Python | 哈希表、字符串、计数 | 简单 |
0136 | 只出现一次的数字 | Python | 位运算、数组 | |
0383 | 赎金信 | Python | 哈希表、字符串、计数 | |
0349 | 两个数组的交集 | Python | 数组、哈希表、双指针、二分查找、排序 | |
0350 | 两个数组的交集 II | Python | ||
0036 | 有效的数独 | Python | 数组、哈希表、矩阵 | 中等 |
0001 | 两数之和 | Python | 数组、哈希表 | 简单 |
0015 | 三数之和 | Python | 数组、双指针、排序 | 中等 |
0018 | 四数之和 | Python | ||
0454 | 四数相加 II | Python | 数组、哈希表 | |
0041 | 缺失的第一个正数 | Python | 困难 | |
0128 | 最长连续序列 | Python | 并查集、数组、哈希表 | 中等 |
0202 | 快乐数 | Python | 哈希表、数学、双指针 | 简单 |
0242 | 有效的字母异位词 | Python | 哈希表、字符串、排序 | |
0205 | 同构字符串 | Python | 哈希表、字符串 | |
0442 | 数组中重复的数据 | 数组、哈希表 | 中等 | |
剑指 Offer 61 | 扑克牌中的顺子 | Python | 数组、排序 | 简单 |
0268 | 丢失的数字 | Python | 位运算、数组、哈希表、数学、二分查找、排序 | |
剑指 Offer 03 | 数组中重复的数字 | Python | 数组、哈希表、排序 | |
0451 | 根据字符出现频率排序 | Python | 哈希表、字符串、桶排序、计数、排序、堆(优先队列) | 中等 |
0049 | 字母异位词分组 | Python | 数组、哈希表、字符串、排序 | |
0599 | 两个列表的最小索引总和 | Python | 数组、哈希表、字符串 | 简单 |
0387 | 字符串中的第一个唯一字符 | Python | 队列、哈希表、字符串、计数 | |
0447 | 回旋镖的数量 | Python | 数组、哈希表、数学 | 中等 |
0149 | 直线上最多的点数 | Python | 几何、数组、哈希表、数学 | 困难 |
0359 | 日志速率限制器 | Python | 设计、哈希表 | 简单 |
0811 | 子域名访问计数 | Python | 数组、哈希表、字符串、计数 | 中等 |
#06. 字符串
#字符串基础题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0125 | 验证回文串 | Python | 双指针、字符串 | 简单 |
0005 | 最长回文子串 | Python | 字符串、动态规划 | 中等 |
0003 | 无重复字符的最长子串 | Python | 哈希表、字符串、滑动窗口 | |
0344 | 反转字符串 | Python | 双指针、字符串 | 简单 |
0557 | 反转字符串中的单词 III | Python | ||
0049 | 字母异位词分组 | Python | 数组、哈希表、字符串、排序 | 中等 |
0415 | 字符串相加 | Python | 数学、字符串、模拟 | 简单 |
0151 | 反转字符串中的单词 | Python | 双指针、字符串 | 中等 |
0043 | 字符串相乘 | Python | 数学、字符串、模拟 | |
0014 | 最长公共前缀 | Python | 字典树、字符串 | 简单 |
#单模式串匹配题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0028 | 找出字符串中第一个匹配项的下标 | Python | 双指针、字符串、字符串匹配 | 中等 |
0459 | 重复的子字符串 | Python | 字符串、字符串匹配 | 简单 |
0686 | 重复叠加字符串匹配 | Python | 中等 | |
1668 | 最大重复子字符串 | 简单 | ||
0796 | 旋转字符串 | Python | ||
1408 | 数组中的字符串匹配 | Python | 数组、字符串、字符串匹配 | |
2156 | 查找给定哈希值的子串 | Python | 字符串、滑动窗口、哈希函数、滚动哈希 | 困难 |
#字典树题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0208 | 实现 Trie (前缀树) | Python | 设计、字典树、哈希表、字符串 | 中等 |
0677 | 键值映射 | Python | ||
0648 | 单词替换 | Python | 字典树、数组、哈希表、字符串 | |
0642 | 设计搜索自动补全系统 | Python | 设计、字典树、字符串、数据流 | 困难 |
0211 | 添加与搜索单词 - 数据结构设计 | Python | 深度优先搜索、设计、字典树、字符串 | 中等 |
0421 | 数组中两个数的最大异或值 | Python | 位运算、字典树、数组、哈希表 | |
0212 | 单词搜索 II | Python | 字典树、数组、字符串、回溯、矩阵 | 困难 |
0425 | 单词方块 | Python | 字典树、数组、字符串、回溯 | |
0336 | 回文对 | Python | 字典树、数组、哈希表、字符串 | |
1023 | 驼峰式匹配 | Python | 字典树、双指针、字符串、字符串匹配 | 中等 |
0676 | 实现一个魔法字典 | Python | 设计、字典树、哈希表、字符串 | |
0440 | 字典序的第K小数字 | 字典树 | 困难 |