Leetcode704,27--数组Part01[【代码随想录】
一、数组理论基础:
【定义】:数组是存放在连续空间上的相同类型数据集合
【关键词】:连续空间+相同类型+数据集
【使用方法】:可以通过下标访问空间内的数值

【删除元素】:
如果删除其中一个元素的话,后面的元素要向前移动。就是下标要更新

【p.s】数组这个删除其实不是我们传统意义上的删除,让这个元素消失。而是有点像修正带。让这个元素被覆盖。


技术总结:
1.使用(right-left)/2+left 是为了数据不超,因为right,left可能数据很大。所以不推荐用(left+right)/2
2.二分查找的mid如果是向下取整,如果target在左侧,mid是要减一(舍弃原来的mid)更新left。


二、双指针
双指针一个指向下标为0,另一个指向数组外。然后找不到就left++来位移,left就代表它位移的距离。找到的话就用right替换。

可能是双指针不大熟练8,一个指针用于找val,另一个指针用于替换。感觉一开始想到的是遍历数组的brute force method。虽然这个也是,但是和我的想法还是有点出入。从左侧和右侧找到我们想要的元素,然后进行删除(替换)