2022年5月1日 星期日

子字串回文

 s = 'abcdeckba'

n = len(s)
a=[]

def f1(s,rstr,p,n):
    if p==n: return
    if p==n//2:a.append(s[p])
    t = len(s)//2-len(rstr)//2+1
    # print(t)
    if s[p] in s[:t]:
        if len(rstr)<1 and s[p-1] != s[p]: 
            rstr = rstr+s[p]
        else:
            rstr = s[p]+rstr+s[p]
            a.append(rstr)
    print(rstr,end=' ')
    f1(s,rstr,p+1,n)
    return
f1(s,'',len(s)//2,n)
print(a)
aLen = [len(i) for i in a]
print(aLen) 
aLenMax = max(aLen)
print(aLenMax)
idx = aLen.index(aLenMax)
print(a[idx])


沒有留言:

張貼留言