• 一般来说,使用双指针可以降低时间复杂度一个数量级
  • 优点:在一个 for 循环下完成两个 for 循环的工作

快慢指针

遵循原则:快指针用来寻找和判断是否放入新数组,慢指针表示新数组放入元素的坐标

leetcode:

两端向中间

leetcode:

从后往前

leetcode:

滑动窗口

核心思想:

  1. 维护一个有条件的滑动窗口
  2. 右端点右移,使窗口扩大,导致不满足条件
  3. 左端点右移,使窗口缩小,再次满足条件

leetcode: