字符串中连续递增英文字符串长度、回文子串个数

输入: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)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值