二分算法 + 数组操作
2023-07-27 20:25:36
发布于:浙江
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+1;
int a[N];
int main(){
int n,m,x;
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=m;i++){
cin>>x;
bool temp=true;
int l=1,r=n,mid;
while(l<=r){
mid=(l+r)/2;
if(a[mid]>x) r=mid-1;
else if(a[mid]==x){
cout<<mid<<endl;
temp=false;
break;
}
else{
l=mid+1;
}
}
if(temp) cout<<-1<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个