输入:abcab
输出:3
def f(in_str):
# 定义一个列表用来保存次数
list = []
# 得到每一个元素和对应的索引值
for index, first_s in enumerate(in_str):
# 记录次数
count = 1
# 定义一个变量用来保存需要判断的字符
one_str = first_s
# 用第一个for循环得到的元素跟之后的所有的元素比较,满足条件,count++
for two_s in in_str[index:]:
if two_s > one_str:
# 满足条件
one_str = two_s
count += 1
# 列表内添加每一次的次数
list.append(count)
return list
# 排序输出最大值
s= input("请输入一个字符串:")
list=f(s)
list.sort(reverse=True)
print('最长子字符串的长度:', list[0])
长度大于1的回文子串个数
def help(i,j,s):
while(i<=j):
if(s[i]!=s[j]):
return False
i+=1
j-=1
return True
s=input()
length=len(s)
result=[]
for i in range(length):
j=length-1
while(i<=j):
if(help(i,j,s)):
result.append(s[i:j+1])
#print(s[i:j+1])
j-=1
count=0
for i in result:
if len(i)>1:
count+=1
print(i)
print(count)