1.数组:是存放在在连续空间内相同类型数据的集合。
*下标从0开始
*数组元素不能删,只能覆盖
2.二分算法
通过移动左右区间的实现二分:将middle的下标赋给left或者right实现二分
左闭右闭 [left,right] 和左闭右开 [left,right) 有一些区别:
①在更新左区间过程中,如果左闭右开,right = middle;如果左闭右闭,right = middle +1
②循环区间left<=right或者left<right
3.移除元素
①暴力法 复杂度高
②双指针法(快慢指针):遍历快指针,慢指针指向需要覆盖的地址
4.有序数组的平方
由于数组有序,最大值在首尾,分别用两个指针指向他们,在一次遍历中比较首尾,然后移动指针继续进行比较。
5.长度最小的子数组
依然使用双指针,首指针先不动,末尾指针依次移动,当满足条件时记录长度。然后移动首指针,看是否满足条件,如果满足,继续移动首指针,如果不满足,移动尾指针。
6.螺旋数组
确定为左开右闭,一圈为一个循环。