704--二分查找
前两天自己刷了一下二分查找,第二次刷感觉很简单,因为是新手小白,所以适合同样和我一样新手学习。二分查找首先要搞清楚用的是左闭右闭还是左闭右开的方法,左闭右闭的方法在while循环中left和right是可以相等的,但是左闭右开的方法在while循环中left和right不可以相等。
其次就是可以把数组想象成一个数轴,middle就是中间的点,如果target在middle的左侧时,那就需要收缩right端点,如果target在middle的右侧时,那就需要收缩left端点。
值得注意的是左闭右闭和左闭右开在收缩右端点的时候是不同的,因为左闭右闭是可以取到最右侧端点的,而当target < nums[middle]时,是不可以取到右端点的,所以middle需要减1。
如下是左闭右闭的方法:
如下是左闭右开的方法:
27--移除元素
移除元素跟着代码随想录学习了两种方法
首先是双指针法:思路大概是快慢两个指针同时进行,快指针目的是找目标元素,慢指针是为了保存移除之后的数组,直到遍历结束为止。
暴力解法是找到需要移除的元素,然后把剩余数组前移动。
感谢观看,如有错误,请多指正。