二分查找一个数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找一个数相关的知识,希望对你有一定的参考价值。
#include <bits/stdc++.h> using namespace std; inline int read(){ int num=0,f=1; char c=getchar(); while(!isdigit(c)){if(c==‘-‘) f=-1; c=getchar();} while(isdigit(c)){num=(num<<1)+(num<<3)+(c^48); c=getchar();} return num*f; } int a[100],n,m; inline int in(){ n=read(); for(int i=1;i<=n;i++) a[i]=read(); m=read(); } int lower_bound(int size,int key){ int len=size,l=1,r=size,mid,dir; while(l<r){ len>>=1; dir=l+len; if(a[dir]<key) l=dir+1; if(a[dir]>key) r=dir-1; if(a[dir]==key){ l=dir; break; } } return l; } inline int work(){ cout<<lower_bound(n,m); } int main(){ in(); work(); }
以上是关于二分查找一个数的主要内容,如果未能解决你的问题,请参考以下文章