双指针

双指针
4FGR双指针
引入
双指针是一种简单而又灵活的技巧和思想 ,单独使用可以轻松解决特定问题,和其他算法结合也能发挥多样的用途。
双指针顾名思义,就是同时使用两个指针,在序列、链表结构上指向的是位置,在树、图结构中指向的是节点,通过或同向移动,或相向移动来维护、统计信息。
维护区间信息
如果不和其他数据结构结合使用,双指针维护区间信息的最简单模式就是维护具有一定单调性,新增和删去一个元素都很方便处理的信息,就比如正数的和、正整数的积等等。
例题1
713. 乘积小于 K 的子数组 - 力扣(LeetCode)
给定一个长度为 \(n\) 的正整数数组 \(nums\) 和整数 \(k\) ,找出该数组内乘积小于 \(k\) 的连续子数组的个数。
过程
设两个指针分别为 \(l,r\) ,另外一个变量 \(tmp\) 记录 \([l,r]\) 内所有数的乘积。最开始 \(l,r\) 都在最左面,先向右移动 \(r\) ,直到第一次发现 \(tmp \geq k\) ,这时就固定 \(r\) ,右移 \(l\) ,直到
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果




![算法板子[updating]](/./images/2025-11-20/baka3.png)

![各题型题解[updating]](https://ooo.0x0.ooo/2025/05/25/OdQPQl.png?_r_=da728f1f-eef3-c164-9c54-942c4c9805a9)