题解
2024-02-21 15:36:38
发布于:浙江
14阅读
0回复
0点赞
二分查找
#include<iostream>
using namespace std;
int a[1000],m,n,l=1,r=1000000,ans=0,mid;
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
cin>>m;r=n;
while(l<=r){
mid=(l+r)/2;
if(a[mid]>=m){ans=mid;r=mid-1;}
else{l=mid+1;}
}
if(a[ans]==m)cout<<ans;
else cout<<-1;
return 0;
}
这里空空如也
有帮助,赞一个