简单贪心就行,我们用k维护上一个读取的符合题意的字符,设其初始状态为0,用cnt存储当前能匹配到的最大值,当符合匹配规则时,cnt++,当不符合匹配规则时,重置cnt状态,用maxn存储总体最大值并时刻更新

python代码如下

import sys
n = int(input())
input = lambda : sys.stdin.readline().strip()
s = input()
k = 0;maxn=0;cnt=0
for i in s :
    if k == 0 :
        if i == "a" or i == "h":
            k = i
            cnt += 1
            maxn = max(cnt,maxn)
    else :
        if i == "a" and k == "h" :
            k = "a"
            cnt += 1
            maxn = max(cnt,maxn)
        elif i == "h" and k == "a" :
            k = "h"
            cnt += 1
            maxn = max(cnt,maxn)
        else :
            if i == "a" or i == "h":
                cnt = 1
                k = i
                maxn = max(cnt,maxn)
            else :
                cnt = 0
print(maxn)