算法题解
这里整理了 233 篇题解。可以先按问题的主要对象浏览,也可以按解题方法交叉查找。
按主题浏览
| 主题 | 篇数 | 内容 |
|---|---|---|
| 数组与矩阵 | 88 | 数组、区间、矩阵,以及基于这些对象的组合与最优值问题。 |
| 字符串 | 38 | 字符串处理、匹配、子串、子序列与编码。 |
| 链表 | 21 | 链表的遍历、重排、合并与节点关系。 |
| 栈、队列与堆 | 21 | 栈、队列、单调结构、堆与表达式求值。 |
| 树与二叉搜索树 | 44 | 树的遍历、构造、路径与二叉搜索树性质。 |
| 图与网格搜索 | 5 | 图的依赖关系、连通性与网格搜索。 |
| 数学与计数 | 16 | 数值计算、进制、概率、几何与计数问题。 |
按解题方法查找
动态规划(55) · 背包问题(8) · 贪心(35) · 回溯(29) · DFS(30) · BFS(18) · 双指针(30) · 快慢指针(7) · 二分查找(9) · 二分(12) · 滑动窗口(8) · 哈希表(17) · 前缀和(5) · 单调栈(5) · 递减栈(2) · 单调队列(1) · 排序(13) · 归并排序(3) · 堆(6) · 递归(23) · 迭代(14) · 模拟(12)
“二分”保留较宽泛的分区与缩小搜索范围的视角;“二分查找”专指题解中使用的二分查找方法。“递减栈”保留单调方向信息,相关题解也添加“单调栈”标签。
从题目里总结的思维方法
思维方法索引解释这些标签的含义,并列出对应题解。它们与常见算法标签一起保留。