算法思路复盘
1:双指针之快慢指针
(1)涉及到快慢指针的算法,基本都是慢指针维护符合条件的合法数据,快指针去寻找符合条件的元素将其归并入满指针维护的区间中,所以在写该类算法时,快指针维护的元素归并入慢指针维护的区间的判别条件基本都来自于与慢指针维护区间内的元素有关。
(2)举例
- 删除数组中的重复元素,归并条件是,快指针所指向的元素与慢指针指向的元素不同;
- 删除数组中超过两次重复的元素。归并条件是快指针指向的元素与慢指针指向的元素的前一个元素不同;
- 移除特定值元素,归并条件为当前快指针指向的元素不等于特定值;
- 判断子串,慢指针指在子串位置,快指针在母串疯狂更新寻找符合子串条件的位置,当快指针超出范围时,结束
2:双指针之对立指针
(1)左右指针在符合条件时,进行移动并判断
(2)举例
- 接雨水:当前仅当找到更高的墙后才更新对应的左右指针,当两个指针相遇后及结束并返回结果
- 。。。
浙公网安备 33010602011771号