减少执行时间

问题描述

以下是我的代码,它返回子串的总数,其中-

  • 所有字符都相同,例如:'aaaa'
  • 除中间的字符外,所有字符都相同,例如:'aadaa'

给定字符串 s = 'mnonopoo' 我们有以下特殊子字符串:{ 'm','n','o','p','o ','oo','non','ono','opo' } 您只需要返回该特殊子字符串的总数。在这种情况下,它是 12。

def palin(x):
    if x==x[::-1]:
        if len(set(x))==1 or len(set(x))==2:
            return True
        else:
            return False
    else:
        return False
    
def special_string(string):
    result=[]
    for i in range(len(string)):
        for j in range(i+1,len(string)+1):
            r= string[i:j]
            if palin(r):
                result.append(r)
    return len(result)

我的代码在较小的输入下运行良好,但对于较大的输入会被终止。请帮助我改进我的代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)