数组的特性
数组下标从0 开始
数组是内存连续的
二分查找
适用场景:有序数组
target 在左闭右闭即[left, right]的区间: 循环条件l <= r, 左半部分选择r = m - 1;
target 在左闭右开即[left, right)的区间:循环条件l < r, 左半部分选择r = m;
双指针法
适用条件:对数组或链表需要两次for循环的算法
快慢指针,快指针寻找需要处理的下标,慢指针指向下一个覆盖的下标
相向指针,类似循环指针,在某个位置朝相反方向移动
滑动窗口
窗口内是什么,一般是符合需求的子串
如何移动起始位置,起始位置对应的数据不符合子串需求
如何移动结束位置,结束位置对应的数据仍然符合子串需求