704.二分查找:
1)使用条件:题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件。当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。
2)写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。
我是用的是左闭右闭的方法。其中,时间复杂度:O(log n);空间复杂度:O(1)。
27.移除元素:
1)双指针法:通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
2) 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组。
慢指针:指向更新 新数组下标的位置。
其中,时间复杂度:O(n);空间复杂度:O(1)。