双指针的理解: 双指针并不是真的去为数组定义指针,而是利用数组的元素的下标
题型1:原地移动处理数组元素的位置
由异地数组操作------>原地双指针操作
要注意的是如果dest会提前覆盖cur指针之后的值,那么就应该变换cur dest的位置
快慢双指针:
慢指针(slow)走一步,快指(fast)针走两步
快乐数
左右双指针:
由暴力解法优化------>通过控制左右指针的移动实现优化
容器的最大容积
有是需要随数组进行排序(sort)再使用左右指针
有效三角形的个数
排序+左右指针
两数之和
. 查找总价格为目标值的两个商品
三数之和:循环:固定一个,左右指针遍历一遍-
四数数之和:循环:固定一个,固定一个,,左右指针遍历一遍-
三数之和
四数之和
注意去重操作