704
解法:
1. 用的左闭右闭,看了解法才知道还有左闭右开这种写法,因为一开始只学了左闭右闭。
一开始没有来判断target和nums[mid]的大小比较,直接用递归全部扫了一遍所以runtime增加。
return Math.max(helper(nums, target, low, mid - 1),
helper(nums, target, mid + 1, high));
然后看了解法才想起因为nums是从小到大排列所以可以通过nums[i]和target的比较来减少runtime。
27
解法:
1.这道题做过类似的(26)所以一开始就想到了双指针。设置了一个idx = 0来作为慢指针,但是第一遍出现错误是因为return idx - 1。在于没有想清楚慢指针和非target value的个数关系。所以,在return类似的值是时候不要想当然,应该在清晰关系之后再return。