代码随想录算法训练营第一天 | 704 二分查找、27 移除元素

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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值