欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二分边界问题

程序员文章站 2024-03-20 10:25:04
...

二分边界问题

通过分析得出 l = mid 这种情况下 mid = l + r +1 >>1
否则 mid = l + r >>1;
下面是代码模板

/**
模板一
当分析出 l(左边界) = mid时
mid = (l+r+1)/2;
*/

int mid = (l+r+1)/2;
if(check(..)){
	l = mid;
}else r = mid -1/**
模板二

*/
int mid = (l+r)/2;
if(check()){	
	l = mid +1;
}
else r = mid;

//上面的check函数是二分的判断条件
相关标签: 算法