二分查找求上界和下界

来源:互联网 发布:有域名 如何弄企业邮箱 编辑:程序博客网 时间:2024/05/01 05:34

今天做题遇到了一题求下界的题。
把二分查找求上界和下界复习一遍。

代码实现:

#include <iostream>using namespace std;int main(){    int a[10]={0,1,1,2,3,3,3,3,5,6};    //找3的下界    int l=0,r=9;    int ans;    while(r>l)    {        int mid=(r+l)>>1;        if(a[mid]>=3)        {           ans=mid;           r=mid;        }        else        {            l=mid+1;        }    }    cout<<ans<<endl;    //找3的上界    l=0,r=9;    while(r>l)    {       int mid = (l+r)/2;       if(a[mid]<=3)       {           ans=mid;           l=mid+1;       }       else       {           r=mid;       }    }    cout<<ans<<endl;    return 0;}
原创粉丝点击