做入门算法题的时候遇到了一个关于求队列中某数的位置的问题。
于是自己想了个空间换效率的方法:
数字进来的时候以自己的值与进来的序号构建一个二维表,表中只记录每一个数出现的第一次的位置。最后输入某数的时候可以直接拿到它的位置
int n,m,o;
cin>>n;
int a[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
for(int i=0;i<n;i++){
cin>>m;
if(a[m]==-1){
a[m] =i+1;
}
}
cin>>o;
cout<<a[o];