1、数组是存放在连续内存空间上的相同类型数据的集合。
2、数组可以方便的通过下标索引的方式获取到下标对应的数据。
3、因为数组的内存空间连续,所以增添或删除元素时需要移动其他元素。
4、在c++中,二维数组在地址空间上是连续的。
704二分查找
关键点1:确定使用左闭右闭还是左闭右开原则,.size()应该减一以符合区间定义。
关键点2:while的判断条件中是否有=,当=时符合左闭右闭区间定义。该判断条件是因为middle+1。
关键点:right = middle/middle-1 left = middle/middle+1。当左闭右闭时,左右端点已经判断了。
27移除元素
暴力法:
关键点1:数组长度为nums.size(),外层循环边界i<nums.size()
关键点2:内层循环将数组元素前移时,j<numslength-1,防止j越界
关键点3:每次找到target时,数组长度减一,同时删除的位置被新元素取代,需要减一重新判断。
双指针法:(太好用了)
关键点1:明确快指针用于遍历,慢指针用于记录
977有序数组的平方
关键点1:不能在原数组上操作
关键点2:指针循环条件or(int i=0,j=numslength-1;i<=j;)