我似乎发明了一种复杂度为O(1)的查找算
2025-08-02 20:17:23
发布于:浙江
#include<bits/stdc++.h>
using namespace std;
int n,c;
int a[100005][3];
int main(){
int n,m,o;
cin>>n;
cin>>m;
for(int i=1;i<=n;i++){
cin>>o;
if(a[o][2]==0){
a[o][1]=i;
a[o][2]=1;
}
}
for(int i=1;i<=m;i++){
int oo;
cin>>oo;
if(a[oo][1]==0){
cout<<"-1 ";
}
else{
cout<<a[oo][1]<<" ";
}
}
return 0;
}
我用数组记录了每个元素第一次出现的位置
这里空空如也











有帮助,赞一个