双指针
- 寻找超过3个x的个数并求和,减2即应该删去的x的数量
时间复杂度 $O(n)$
C++ 代码
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int n;
string s;
int res = 0;
cin >> n >> s;
for(int i = 0; i < n; i++ )
{
if(s[i] != 'x') continue;
int j = i + 1; //error
while(j < n && s[j] == 'x') j++ ;
res += max(0, j - i - 2); //error
i = j - 1;
}
cout << res;
return 0;
}