数组:是存储在连续内存空间上的相同类型数据的集合
数组的下标从0开始
删除或者添加元素时需要移动其他元素的地址,数组中的元素不能删除,只能覆盖。
以C++为例,二位数组时连续分布的
二分查找
题:在一个有序无重复的数组nums中,寻找一个元素target,如果找到了就返回对应的下标,如果没有就返回-1。
法一:target在左闭右闭区间
法二:target在左闭右开区间
移除元素
题:原地移除数组中所有等于val的元素,要求不能使用额外的辅助空间,空间复杂度为O(1),返回移除元素后新的数组的size。
法一:暴力解法
法二:双指针法
长度最小的子数组
在一个正整数数组nums中找到最小长度的连续子数组,使子数组元素之和大于或等于s,
返回满足条件的连续子数组的最小长度,如果没找到则返回0。
法一:暴力解法
法二:滑动窗口
螺旋矩阵
给出一个正整数n,按从外到内的螺旋顺序打印1到n2的所有值。