给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该
子字符串的 最大 长度。 示例 1:
输入: s = "bcbbbcba"
输出: 4
解释:
以下子字符串长度为 4,并且每个字符最多出现两次:"bcbbbcba"。
示例 2:
输入: s = "aaaa"
输出: 2
解释:
以下子字符串长度为 2,并且每个字符最多出现两次:"aaaa"。
模板:
class Solution:
def maximumLengthSubstring(self, s: str) -> int:
sLen=len(s)
window=defaultdict(int) //设置一个字段,window
left,right=0,0//设置一个left,right
ans=0
while right<sLen:
sIn=s[right] //入
window[sIn]+=1 // 判断是否符合条件
while window[sIn]>2:
out=s[left] //出
left+=1 //左边移动
window[out]-=1 //window缩小
ans=max(ans,right-left+1) //计算结果
right+=1 //右侧
return (ans)