小A很喜欢字母N,他认为连续的N串是他的幸运串。有一天小A看到了一个全部由大写字母组成的字符串,他被允许改变最多2个大写字母(也允许不改变或者只改变1个大写字母),使得字符串中所包含的最长的连续的N串的长度最长。你能帮助他吗?
小A很喜欢字母N,他认为连续的N串是他的幸运串。有一天小A看到了一个全部由大写字母组成的字符串,他被允许改变最多2个大写字母(也允许不改变或者只改变1个大写字母),使得字符串中所包含的最长的连续的N串的长度最长。你能帮助他吗?
输入的第一行是一个正整数T(0 < T <= 20),表示有T组测试数据。对于每一个测试数据包含一行大写字符串S(0 < |S| <= 50000,|S|表示字符串长度)。
数据范围:
20%的数据中,字符串长度不超过100;
70%的数据中,字符串长度不超过1000;
100%的数据中,字符串长度不超过50000。
对于每一组测试样例,输出一个整数,表示操作后包含的最长的连续N串的长度。
3 NNTN NNNNGGNNNN NGNNNNGNNNNNNNNSNNNN
4 10 18
不用pop的方法T = int(input()) for i in range(T): s = list(input()) su = 0 m = [] for i in range(len(s)): if s[i] == 'N': su += 1 else: m.append(i) if len(m) <= 2: print(len(s)) else: length=[] length.append(m[2]+1) for k in range(1,len(m)-2): length.append((m[k + 2] - m[k-1])) length.append(len(s)-m[len(m)-3]) print(max(length)-1)