二分查找

1. > 二分查找
面试过程竟然卡到之前做过的一道题,没有深入思考过二分的边界问题!网上找了其他回答和模板,又刷了几道题,屡试不爽。
写法一——记录答案法

while (l<=r)
{
    int mid=(l+r)/2;
    if (check(mid))
    {
        ans=mid;
        r=mid-1;
    }
    else l=mid+1;
}printf("%d",ans);

写法二——不记录法

while (l<r)
{
    int mid=(l+r)/2;
    if (check(mid)) r=mid
    else l=mid+1;
}
printf("%d",l); //r也可以

leetcode原题

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务