相关疑难解决方法(0)

找到最短的子字符串,其替换使字符串包含相等数量的每个字符

我有长度的字符串n的字母组成AGCT。如果字符串包含相等数量的、和(每次)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)

python string algorithm optimization python-3.x

2
推荐指数
1
解决办法
1893
查看次数

标签 统计

algorithm ×1

optimization ×1

python ×1

python-3.x ×1

string ×1