hot100--双指针(滑动窗口)

以下几题都是使用到一个:定义fast,slow指针,用快指针遍历数组,slow指针不断缩小范围,

移动零

⚠️思路

使用两个指针(初始化值都为0):

慢指针(slow):指向当前已经处理好的序列的尾部
快指针(fast):指向当前正在遍历的元素

算法步骤

快指针遍历整个数组
当快指针指向的元素非 0 时,将其与慢指针指向的元素交换,然后慢指针前进一位
当快指针指向的元素是 0 时,只移动快指针
这样就能把所有非零元素按顺序移到前面,零自然就被挤到后面了。

截屏2026-03-11 15.39

长度最小的子数组

截屏2026-03-12 16.22

乘积小于k的子数组

截屏2026-03-12 17.02

无重复字符的最长子串

截屏2026-03-12 17.44

上面几题都是双指针初始化为0,下面是一左一右指针

盛水最多的容器(11)

*⚠️思路:定义一左一右两个指针,因为容积是由短边决定的,而底边已经是最大了,无论移动哪边都是减一,所以那边短就移动哪边,当左右指针相遇时,return

截屏2026-03-13 18.02

posted @ 2026-03-13 17:01  Lin_zx  阅读(1)  评论(0)    收藏  举报