我用的是二分查找。
帮助我的大佬可以互关吗?
#include<bits/stdc++.h>
using namespace std;
int a[1000003];
int c[1000003];
int main(){
int n,x,b;
cin>>n>>x;
for(int i=1;i<=n;i++){
cin>>a[i];
c[i]=-1;
}
for(int i=1;i<=x;i++){
cin>>b;
int L=1,R=n,mid,cnt=0;
while(L<=R){
mid=(L+R)/2;
if(a[mid]==b){
c[i]=mid;
break;
}
else if(a[mid]<b) L=mid+1;
else R=mid-1;
}
}
for(int i=1;i<=x;i++) cout<<c[i]<<" ";
return 0;
}
就是这里。
谢谢啦!