首页 > 解决方案 > 减少执行时间

问题描述

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

给定字符串 , s = 'mnonopoo' 我们有以下特殊子字符串: { 'm', 'n', 'o', 'n', 'o', 'p', 'o', '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)

我的代码适用于较小的输入,但会因输入较大而终止。请帮助我改进我的代码。

标签: pythonstringloopstime-complexityexecution-time

解决方案


推荐阅读