我有长度的字符串n的字母组成A,G,C和T。如果字符串包含相等数量的、和(每次)A,则该字符串是稳定的。我需要找到替换后使其稳定的子串的最小长度。这是问题完整描述的链接。GCTn/4
假设s1=AAGAAGAA。
现在因为n=8理想情况下它应该有 2A秒、2T秒、2G秒和 2C秒。它有 4 个多余的As。因此我们需要一个至少包含 4 个As的子串。
我首先从左边取一个 4 个字符的子字符串,如果没有找到,那么我增加一个变量mnum(即寻找 5 个变量子字符串等等)。
我们得到AAGAA了答案。但它太慢了。
from collections import Counter
import sys
n=int(input()) #length of string
s1=input()
s=Counter(s1)
le=int(n/4) #ideal length of each element
comp={'A':le,'G':le,'C':le,'T':le} #dictionary containing equal number of all elements …Run Code Online (Sandbox Code Playgroud)