【leetcode】 数组双指针和滑动窗口

【leetcode】 数组双指针和滑动窗口

数组双指针(Two-Pointer)是一种常用的算法技巧,用于处理数组或链表等数据结构中的问题。它的核心思想是使用两个指针来遍历数组,从而在数组中执行某种操作,如查找、修改、反转等。

通常情况下,数组双指针包括以下三种类型:

双指针分为「对撞指针」、「快慢指针」、「分离双指针」。

  1. 对撞指针:
    两个指针方向相反。适合解决查找有序数组中满足某些约束条件的一组元素问题、字符串反转问题。
  2. 快慢指针:
    两个指针方向相同。适合解决数组中的移动、删除元素问题,或者链表中的判断是否有环、长度问题。
  3. 分离双指针:
    两个指针分别属于不同的数组 / 链表。适合解决有序数组合并,求交集、并集问题。

你可能感兴趣的:(leetcode,算法,排序算法,python,数据结构)