把字符串中的a/t/c变换成c/a/t的最大次数
#include<iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
string s="catccccccatc";
string s1;
vector<string> ss;
for(int i=0;i<s.length();i++){
if(i+1<s.size() && s[i]=='a' && s[i+1]=='t') {//at->x
s1+='x';
i++;
}else s1+=s[i];
}
cout<<s1<<endl;
string temp;
for(int i=0;i<s1.length();i++){
if(s1[i]!='x' && s1[i]!='c'){//遇到a或者t
if(!temp.empty() ){
ss.push_back(temp);
temp.clear();
}else continue;
}else {
temp+=s1[i];
}
}
if(!temp.empty()) ss.push_back(temp);
cout<<ss[0];
int ans=0;
for(auto subs:ss){
int cnt=0;
for(int i=0;i<subs.size();i++){
if(subs[i]=='c') ans+=cnt;
else if(subs[i]=='x') cnt++;
}
}
cout<<ans;
return 0;
}