题解 | 穷哈哈~
穷哈哈~
https://www.nowcoder.com/practice/5b3184b233f34fb39a7f259ae82eb42c
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int main() {
int a, b;
int ma=0;
cin>>a;
char s[a];
vector<int> dp(a,0);
for(int j = 0 ; j < a ; j++){
cin>>s[j];
}
if (s[0]=='a'||s[0]=='h'){
dp[0]=1;
ma = max(dp[0],ma);
}
if(a==1){
cout<<dp[0]<<endl; return 0;
}
for(int i=1;i<a;i++){
if ((s[i-1]=='a'&&s[i]=='h')||(s[i-1]=='h'&&s[i]=='a')){
dp[i]=dp[i-1]+1;
ma = max(dp[i],ma);
}
else{
if (s[i]=='a'||s[i]=='h'){
dp[i]=1;
ma = max(dp[i],ma);
}
}
}
cout<<ma<<endl;
}
// 64 位输出请用 printf("%lld")
查看22道真题和解析