题解-二分查找
2024-08-26 21:08:17
发布于:北京
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> a(n+1);
for(int i=0;i<n;i++){
cin>>a[i];
}
int num,mid,L=0,R=n-1;
cin>>num;
while(L<=R){
int mid=(L+R)>>1;
if(a[mid]==num){
cout<<mid+1;
exit(0);
}
else if(a[mid]>num){
R=mid-1;
}
else{
L=mid+1;
}
}
cout<<-1;
return 0;
}
这里空空如也
有帮助,赞一个