二分查找模板

Posted 猪八戒1.0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找模板相关的知识,希望对你有一定的参考价值。

//答案在左部分
//区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:
int bsearch_1(int l, int r)

    while (l < r)
    
        int mid = l + r >> 1;
        if (check(mid)) r = mid;    // check()判断mid是否满足性质
        else l = mid + 1;
    
    return l;

//答案在右部分
// 区间[l, r]被划分成[l, mid - 1]和[mid, r]时使用:
int bsearch_2(int l, int r)

    while (l < r)
    
        int mid = l + r + 1 >> 1;
        if (check(mid)) l = mid;
        else r = mid - 1;
    
    return l;

以上是关于二分查找模板的主要内容,如果未能解决你的问题,请参考以下文章

二分——二分查找算法模板

十分好用的二分查找模板

二分查找模板和详细练习题

二分查找模板和详细练习题

算法模板-二分查找

算法模板-二分查找