题目描述
直接从头开始扫,当出现x,会t+1。而如果不是x,t会立即变为0,从新计数。
而每次当t到达3时,让k+1代表删除一次x,并且立刻t-1,代表连续的x从3个变成2个
最终输出k。
(记得在扫数组时将t和k归零)
算法
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string a;
cin>>a;
int t=0,k=0;
for(int i=0;i<n;i++)
{
if(a[i]!='x') t=0;
else t++;
if(t==3)
{
t--;
k++;
}
}
cout<<k;
}