举个例子:
当a[i]是'A'的时候就让j指向i的下一位,如果a[j]是'P',那么就统计一下'P'的个数。
然后j继续向下走,直到j走到字符串结尾或者a[j]不等于'P'为止。此时把cnt求一下最大值。
#include<bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int maxcnt = 0; // 每一轮最大'P'个数都要清空
int n; string s;
cin >> n>>s;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == 'A') {
int j = i + 1, cnt = 0; // 每个子序列都要重新统计'P'的个数
while (j< s.size() && s[j] == 'P')j++, cnt++;
maxcnt = max(maxcnt, cnt);
}
}
cout << maxcnt << endl;
}
return 0;
}