思维方法
这些标签记录了从题解中提炼出的理解角度。它们可以跨越数据结构和具体算法,在不同题目之间建立联系。
磨光:边界收缩与渐进修正
每一步处理一部分边界、消去已完成的区域,或修正一个局部状态,让剩余问题逐步收敛。螺旋矩阵、颜色分类和单调递增的数字体现了不同用法;具体过程中的不变量仍以各篇题解为准。
历史信息:历史状态复用
保存已经处理过的数据或状态,让当前决策直接利用过去的计算结果。哈希映射、计数、前缀信息和增量维护的堆,都可以从这个角度理解。
双向约束:双向条件分解与合并
把来自两个方向、需要同时成立的条件分别处理,再合并结果。例如分发糖果先满足左侧规则和右侧规则,再在每个位置取满足两者的值。
子问题合并:由子问题的结果构造当前结果
先得到子问题的返回结果,再组合出当前问题的结果。原来用于这个含义的“归并”标签统一为“子问题合并”,与具体的“归并排序”算法区分;原文中的推导和用语保留。
- 对称二叉树
- 二叉树的后序遍历
- 二叉树的前序遍历
- 二叉树的最大深度
- 二叉树的最近公共祖先
- 二叉树的最小深度
- 翻转二叉树
- 合并 K 个升序链表
- 合并二叉树
- 将有序数组转换为二叉搜索树
- 括号生成
- 路径总和 II
- 排序链表
- 平衡二叉树
- 求根节点到叶节点数字之和
- 验证二叉搜索树
- 左叶子之和
- N 叉树的最大深度
其他思维标签
构造(4) · 映射(1) · ValToIndex(3) · 分类(9) · 逼近(1) · 逆向思维(2) · 对称(3) · 对称性破缺(1) · 最大化最小值问题(1) · 最值(1) · 按起点升序排序(2) · 按终点升序排序(1) · 按终点降序排序(1)
原有的思考、推导和低频标签都保留在题解中。上面的解释用于帮助检索,具体含义结合各篇题解阅读。