标签:blog sp div 问题 log bs as 学习 tt
从刚开始学习二分法,到现在,具体实现一个二分法一直是很让我头疼的地方,总是不知道哪里出点问题,想要“优雅”地实现,无奈真要做到,必须借助if的力量...
int *Lower_bound(int *l,int *r,int k)
{
//[l,r)为答案区间
//返回满足*point<=k的最小point
//假如都比k大,则返回l,假如都比k小,返回r-1
while(l + 2 < r)
{
int *mid = (r-l)/2 + l;
if (*mid >= k)
{
r = mid+1;
}else
{
l = mid;
}
}
//最后的答案区间为l,mid
if (*l >=k)
return l;
else
return l+1;
}
标签:blog sp div 问题 log bs as 学习 tt
原文地址:http://www.cnblogs.com/dandi/p/4057428.html