鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: liuzhengyuan

[已解决]Python:【新】每日一题 4

[复制链接]
发表于 2022-8-10 22:00:42 | 显示全部楼层
看看

点评

了解思路的话,就自己试着写一遍把~  发表于 2022-8-10 22:05
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-11 11:34:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 ba21 于 2022-8-11 11:58 编辑

搞个总结。
爆破:
def longestPalindrome(s):
    if len(s)==1 or s==s[::-1]:
        return s

    res = ''
    for i in range(len(s)+1):
        for j in range(i+2, len(s)+1):
            tmpStr = s[i:j]
            if tmpStr == tmpStr[::-1] and len(tmpStr)>len(res):
                res = tmpStr
                
    return res if res else s[0]

高效:
def longestPalindrome(s):
    if len(s)==1 or s==s[::-1]:
        return s

    res = ''
    for i in range(1, len(s)+1):
        j = 1
        while (i-j)>=0 and (i+j)<=len(s)+1:
            tmpStr = s[i-j:i+j+1]
            if tmpStr!=tmpStr[::-1]:
                tmpStr = s[i-j:i+j]
                
            if tmpStr!=tmpStr[::-1]:
                break
            if len(tmpStr)>len(res):                
                res = tmpStr                   

            j+=1           

    return res


2022811_115037.png


2022811_115759.png

点评

216ms 15.1mb  发表于 2022-8-11 21:36

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +1 收起 理由
liuzhengyuan + 2 + 2 + 1 强!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-11 11:53:51 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-11 14:21:01 | 显示全部楼层


def strjj(str_s,*args,**kwargs):
    if len(str_s) == 1:
        return str_s
    else:
        old_s=1
        for i,j in enumerate(str_s):
            if str_s.count(j) > 1 and i != str_s.find(j):
                star_s=str_s.find(j)
                for kk,ll in enumerate(str_s):
                    if ll == j:
                        if kk > star_s:
                            end_s=kk

                if len(info[star_s:end_s+1]) > old_s:
                    old_s= len(info[star_s:end_s+1])
                    max_long = info[star_s:end_s+1]

        print(max_long)

info=input(">>:")
strjj(info)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
liuzhengyuan + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-11 21:39:08 | 显示全部楼层
yunche 发表于 2022-8-11 14:21
def strjj(str_s,*args,**kwargs):
    if len(str_s) == 1:
        return str_s

解答错误:
输入
3342342
程序输出:
33423
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-11 21:39:47 | 显示全部楼层
------------------------活动结束------------------------
之后回答不会得到奖励
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-11 21:43:34 | 显示全部楼层
dolly_yos2 发表于 2022-8-10 11:30
这个方法还是挺让人(让我)眼前一亮的,非常巧妙,只是稍微少了一点细节。
最长公共子串的条件不够充 ...

你的真的思路不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-5 19:27:51 | 显示全部楼层
e

灌灌水
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-5 19:32:29 | 显示全部楼层

???‘
你vip还需要什么灌水???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-5 19:33:08 | 显示全部楼层
liuzhengyuan 发表于 2023-6-5 19:32
???‘
你vip还需要什么灌水???

不,我看到了结帖十分惊讶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 03:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表