1、704. 二分查找(时间复杂度O(log n),空间复杂度O(1))
判断条件有两种: (1)左闭右闭 left <= right (2)左闭右开 left < right
2、35. 搜索插入位置(时间复杂度O(log n))
利用二分查找(1),最后return right + 1;
3、34. 在排序数组中查找元素的第一个和最后一个位置(时间复杂度O(log n))
方法一:分别找到左右边界(不包含target),然后返回
方法二:先找到一个target,然后左右滑动找边界,时间复杂度高,不符合要求。
4、69. x 的平方根
方法一:二分查找 注意数据的取值范围
方法二:牛顿迭代法
和69差不多
6、27. 移除元素
快慢指针
和27差不多
8、283. 移动零
和27差不多
双指针,一个头,一个尾。递增数组平方后,大数在两端。
滑动窗口 时间复杂度O(n)