遇到一个笔试题返回值一直是1,各位大佬求助
问题:
有一个仅包含’a’和’b’两种字符的字符串s,长度为n,每次操作可以把一个字符做一次转换(把一个’a’设置为’b’,或者把一个’b’置成’a’);但是操作的次数有上限m,问在有限的操作数范围内,能够得到最大连续的相同字符的子串的长度是多少。
代码:
输入:
8 1
aabaabaa
defget_max(): n, m =map(int,input().split()) s =str(input()) list_num =[] fori ins: list_num.append(ord(i)) fori inrange(n-m): forj inrange(i+1): t_sum =sum(list_num[j:n-i+j]) if(t_sum-m<=97*(n-i) ort_sum+m>=98*(n-i)): return(n-i) if__name__ =="main": print(get_max()) |