剑指 Offer 53 - II: 0~n-1中缺失的数字

看到这道题的第一反应就是二分查找,由于是递增的所以二分查找所需的时间很短 ,设置一个左,一个右,一个中间,如果判断吧不同需要想下前面是否一样,如果是那么就找到,不是再继续二分查找。

 我的思路出错了,应该是找左子数组末位元素

下面这个方法是书上的,比较好理解,

没有最后一个多余的判断的话,会永远返回0,因为程序是有可能跳出循环的,就是在当前长度找不到的时候,所以直接返回length即可(只有这一种可能找不到从而跳出循环)

修改了后还有问题,最后判断的条件有问题

谨记,一定是和nums的长度比较,因为找不到的话,那么就说明最后L和R会收敛至相等的程度,然后L+1(越界,等于length),所以才需要和length去比较!

2023/7/26

这道题和前面的很像,也是二分查找,唯一不同的是判断从是否等于target变成了当前mid的值

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值