如何查找以特定字符开头的字符串的可能子序列的总数,如'a'并以特定字符结尾,如'b'
来自给定的字符串?如何查找字符串的可能组合总数?
例:
一个字符串'aabb'
,如果我们想知道有多少子序列是可能的,如果子序列必须从性格'a'
开始,以字符结束'b'
那么有效的子序列可从(ab)
贡献计数通过贡献的贡献的指标(1,2), (ab)
索引(0,3), (ab)
索引(0,2), (ab)
使用使用利用索引(0,2,3),(abb)
使用索引(1,2,3)
和aabb
本身 所以总是9 .I可以解决这个对于小长度的字符串,但如何解决索引(0,1,3) ,(abb)
指数(0,1,2) , (aab)
贡献的索引(1,3), (aab)
这个对于一个大的字符串,其中蛮力不起作用
注:我们认为两个子串,如果他们开始有所不同,或者在给定的字符串的不同指数结束 。
def count(str,str1 ,str2):
l = len(str)
count=0
for i in range(0, l+1):
for j in range(i+1, l+1):
if str[i] == str1 and str[j-1] == str2:
count+=1
return count
你到目前为止尝试过什么? –
你想在这结束什么值?你想要子串的总数,所有子串的所有索引,还是实际上所有的子串? – Polymer
@KlausD。尝试蛮力,但这需要很多时间 – Demonking28