MineImpact_QWQ @ 2024-08-13 15:42:42
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int a[n+3],b[m+3];
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=m;i++) cin>>b[i];
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(b[i]==a[j]) {cout<<j<<' ';break;}
if(j==n&&b[i]!=a[j]) {cout<<-1;break;}
}
}
return 0;
}
by pop_l @ 2024-08-13 15:46:21
二分
by CheeseFunction @ 2024-08-13 15:53:35
介绍一下无敌的二分lower_bound
函数,用途是二分查找
#include<bits/stdc++.h>
using namespace std;
int sum[1000000];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)cin>>sum[i];
for(int i=0;i<m;i++){
int x;
cin>>x;
int pos = lower_bound(sum,sum+n,x)-sum;
if(sum[pos]!=x)cout<<"-1"<<' ';
else cout<<pos+1<<' ';
}
}
by MineImpact_QWQ @ 2024-08-13 15:54:13
@pop_l @FearlessWarriors 谢大佬已关此贴结