简单贪心就行,我们用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)

京公网安备 11010502036488号