> For the complete documentation index, see [llms.txt](https://mnunknown.gitbook.io/algorithm-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mnunknown.gitbook.io/algorithm-notes/two_pointers.md).

# Two Pointers，双指针

## 这组问题的分类上基本延续了九章高级算法班的大纲，加了些听课时候的笔记，和自己之后查资料的思考。

## 我一直觉得有些 two pointers 的问题和用递归处理有相通的地方。用递归处理一个问题的时候，最重要的一点在于正确定义 “子问题” 的结构。而 two pointers 的很多问题，其实我们都是在维护两个 pointer 之间那个连续区间，作为我们的子问题。而这两个 pointer 之所以可以单调移动，是因为其中一个指针所在位置，和后面区间所有元素组成的 pair ，都不是有效解。
