假设给我一个len
n的字符串,对于第一个和最后一个字符相同的每个子字符串,我应该向fx
添加1,并打印最后的fx
。你知道吗
例如"ababaca" , f("a")=1 , f("aba")=1 , f("abaca")=1
,但是f("ab")=0
n = int(raw_input())
string = list(raw_input())
f = 0
for i in range(n):
for j in range(n,i,-1):
temp = string[i:j]
if temp[0]==temp[-1]:
f+=1
print f
有没有什么方法可以优化我的代码为大字符串,因为我得到了很多测试用例的时间。你知道吗
你只需数一数每个字母的出现次数。例如,如果有n个“a”,则字符串中将有n*(n-1)/2个子字符串以“a”开头和结尾。你可以对每个字母做同样的处理,解是线性的。你知道吗
将
len(string)
添加到最终答案的获得值。你知道吗相关问题 更多 >
编程相关推荐