ylf_1234 @ 2024-01-16 21:30:29
#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int find(int a[],int l,int r,int k){
if(l==r){
if(a[l]==k)return l;
else
return -1;
}int mid=(l+r)/2;
if(k<=a[mid])find(a,l,mid,k);
else find(a,mid+1,r,k);
}int main(){
int n,m,k;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
cin>>k;
cout<<find(a,1,n,k)<<' ';
}return 0;
}
by Dream_Creator @ 2024-01-16 21:43:01
@ylf_1234
第 10~11 行
#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int find(int a[],int l,int r,int k){
if(l==r){
if(a[l]==k)return l;
else
return -1;
}int mid=(l+r)/2;
if(k<=a[mid]) return find(a,l,mid,k);
else return find(a,mid+1,r,k);
}int main(){
int n,m,k;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
cin>>k;
cout<<find(a,1,n,k)<<' ';
}return 0;
}
by ylf_1234 @ 2024-01-17 21:00:05
谢谢。我居然没有看到