数组需要注意的点
- 数组的内存空间是连续的。在需要删除或增添元素是不能直接操作的,而是采用覆盖和移位的方法。当然,如果是逆序遍历数组,我觉得是可以进行删除操作的
- 二维数组的空间不是连续的,而是n(数组的行数)条连续地址空间组成
数组常用方法
1.二分法
二分法是常考的手法,我觉得一般采用二分法的数组都是数组有一定规律的(如非增非减之类的)。当然使用二分法需要注意的点就是左右是否能够相等
leetcode-704.二分查找
2. 双指针
双指针也是常考的手法,用于如找目标数,移除元素等。一般经常用到的是快慢指针
leetcode-27.移除元素
3. 滑动窗口
需要用到这个方法一般是题目所求为关于一个序列的问题。使用滑动窗口,就是要知道窗口如何移动,窗口大小,窗口起始位置。
leetcode-209.最小的连续子序列
4.找规律
最后一个就是找规律,找规律的题目主要把握题目中隐含的哪些是不变的,哪些是有规律的变化。
leetcode-59.螺旋矩阵