二分法模板,二分法完整教程

首页 > 教育 > 作者:YD1662024-05-16 22:00:35

原题如下:

二分法模板,二分法完整教程(1)

其实很简单,二分法就搞定了,但是我看到题解里面有人说有二分模板,是这样的:

二分法模板,二分法完整教程(2)

下面是他对这道题的解法:

二分法模板,二分法完整教程(3)


下面我想记录的是两个问题:

1、为什么条件判断是left<=right

2、为什么最后返回left就可以了

我认为是这样子的:

二分查找最后会纠结的无非是下面这两种情况:

二分法模板,二分法完整教程(4)


二分法模板,二分法完整教程(5)

在思考时,要记住的点是,(L R)/2在这种邻近的情况下,mid是等于L的

对于第一种情况,

第一次循环,**由于在判断时,先判断的L**,所以L会mid 1,也就是变成R。

第二次循环,L,R重合了,L不会被触发,反而是R会 -1,变到刚才的L位置。 至此,while循环结束。

返回L就是插入位置。

对于第二种情况,

第一次,L会 1,和R重合。

第二次,L会 1,超过R,while结束。

返回L就是插入位置。

考虑清楚这两种情况,对于题解中讲述的这种模板也就清楚了。

欢迎讨论

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.