Java教程

二分板子

本文主要是介绍二分板子,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

供自己查找使用

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)
{
    while (l < r)
    {
        int mid = l + r + 1 >> 1;
        if (check(mid)) l = mid;
        else r = mid - 1;
    }
    return l;
}//用于查找右边界(范围内最大值

 

这篇关于二分板子的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!