一句话理解
双指针用两个下标协同移动,常把 n² 降到 n。
为什么要学
有序数组、区间问题的加速器。
讲解
关键:指针只前进不回退。这样每个指针最多走 n 步。
前提仍是单调性:右指针右移时,左指针只需要跟着右移。
例子
有序数组找两数之和:小了右移大指针,大了左移右端,或相反约定。
常见错误
- 没有单调性却双指针,会漏解。
- 指针回退变成 n²。
第 203 课
双指针用两个下标协同移动,常把 n² 降到 n。
有序数组、区间问题的加速器。
关键:指针只前进不回退。这样每个指针最多走 n 步。
前提仍是单调性:右指针右移时,左指针只需要跟着右移。
有序数组找两数之和:小了右移大指针,大了左移右端,或相反约定。
双指针能 O(n) 的原因通常是?
左右方向键也可翻课