朴素算法Bare Algo

双指针法

对撞指针、快慢指针及滑动窗口。

算法题

(12)

第 1 阶段:相向双指针与首尾对撞

先掌握从两端向中间逼近的基本模型,理解什么时候该移动左指针、什么时候该移动右指针。

125. 验证回文串

简单
双指针字符串

11. 盛最多水的容器

中等
数组双指针贪心

167. 两数之和 II - 输入有序数组

中等
数组双指针二分查找

977. 有序数组的平方

简单
数组双指针排序

844. 比较含退格的字符串

简单
双指针栈字符串

第 2 阶段:同向快慢指针与原地覆盖

这一阶段重点练习同向双指针、快慢指针和原地写回,把数组覆盖、去重和稳定移动这些操作练熟。

26. 删除有序数组中的重复项

简单
数组双指针

283. 移动零

简单
数组双指针

27. 移除元素

简单
数组双指针

80. 删除有序数组中的重复项 II

中等
数组双指针

75. 颜色分类

中等
数组双指针排序

第 3 阶段:多重指针协作与复杂区间

最后处理需要多根指针配合推进的题目,重点理解排序后的夹逼、多状态更新,以及区间边界是如何被同步维护的。

15. 三数之和

中等
数组双指针排序

42. 接雨水

困难
数组双指针动态规划栈