给定一个长度为 n 的字符串,找出最多包含两种字符的最长子串 t ,返回这个最长的长度。
数据范围: ,字符串种仅包含小写英文字母
package main import ( "fmt" "os" "bufio" ) var in=bufio.NewReader(os.Stdin) func main() { var s string fmt.Fscan(in,&s) max:=0 cnt:=map[byte]int{} for l,r:=0,0;r<len(s);r++{ cnt[s[r]]++ for len(cnt)>2{ cnt[s[l]]-- if cnt[s[l]]==0{ delete(cnt, s[l]) } l++ } if r-l+1>max{ max=r-l+1 } } fmt.Println(max) }