描述:操作1,向字符串后面加个字符ch
操作2,给出index,找出与下标为index最近的字符距离
输入:asdgfas
5//五次操作
2 6//6表示下标从1开始,因此真正是5
1 a
1 b
2 6
2 4
输出:5 2 -1
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int findmin(string &s,int i){
vector<int> rlt;
for(int j=0;j<s.size();j++){
if(s[i]==s[j] && i!=j){
rlt.push_back(j);
}
}
if(rlt.empty()){
return -1;
}
else{
int temp=10000;
for(int j=0;j<rlt.size();j++){
temp=min(temp,abs(rlt[j]-i));
}
return temp;
}
}
int main(){
string s;cin>>s;
int n;cin>>n;vector<int> ans;
for(int i=0;i<n;i++){
int temp;cin>>temp;
if(temp==1){
char ch;cin>>ch;s+=ch;
}
if(temp==2){
int k;cin>>k;
k=k-1;
ans.push_back(findmin(s,k));
}
}
for(int i=0;i<ans.size();i++){
cout<<ans[i]<<endl;
}
return 0;
}