704. 二分查找
题目
升序数组,一般排好序的数组,且无重复元素,满足二分查找的条件
code
这里采用了左闭右闭,即 [left,right]。因此是left<=right,若right=nums.size(),则左闭右开,判断条件应改为left<right
复杂度
空间复杂度 O(1)
时间复杂度 O(log n)
---------------------------------------------------------------------------------------------------------------------------------
27.移除元素
题目
code
主要思想是采用双指针,快慢同向指针,一个停留在与目标数字相同的索引处,另一个去寻找下一个不是目标数字的索引处。当一开始没遇到目标数字时,就自己覆盖自己,遇到后,慢指针停留在目标数字处,快指针去寻找下一个不是目标数字的索引来覆盖目标数字。
这个版本是相向双指针,需要注意while条件的设置。
复杂度
空间复杂度 O(1)
时间复杂度 O(n)