二分

二分的写法很多,十分容易混淆,因此在此写下最常用的两种二分写法。



第一种写法:

int bsearch_1(int l, int r)

{

    while (l < r)

    {

        int mid = l + r >> 1;

        if (check(mid)) r = mid;

        else l = mid + 1;

    }

    return l;

}



第二种写法:

int bsearch_2(int l, int r)

{

    l--,r++;

    while (l+1 < r)

    {

        int mid = l + r  >> 1;

        if (check(mid)) l = mid;

        else r = mid ;

    }

    return l;

}

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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