题解 | #平方串#

平方串

https://www.nowcoder.com/practice/b43fb39898f448e39adbcffde5ff0dfc

import sys

# 转换为求两字符串公共子串的最大长度
def maxCommon(s1, s2):
    dp = [[0 for _ in range(len(s2) + 1)] for _ in range(len(s1) + 1)]
    for i in range(1,len(s1) + 1):
        for j in range(1,len(s2) + 1):
            if s1[i - 1] == s2[j - 1]:
                dp[i][j] = dp[i - 1][j - 1] + 1
            else:
                dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
    return dp[len(s1)][len(s2)]

def func(s): # 输入一个字符串s,字符串长度length(1 ≤ length ≤ 50),字符串只包括小写字符。
    ans=0
    for i in range(len(s)):
        s1=s[:i]
        s2=s[i:]
        tmp = maxCommon(s1, s2)
        ans = max(ans, tmp)
    return ans*2 # 输出一个正整数,即满足要求的平方串的长度。

a = sys.stdin.readline()
print(func(a))

全部评论

相关推荐

05-23 19:33
重庆大学 Java
只学了传统后端,马上去后端实习了,在想要不要学习agent开发相关的。27秋招和26相比难度如何?
我连备胎都不是却还在...:就暑期实习而言,大厂官宣hc 比 26 多,但是我观察看应该低于 26 的,估计秋招也不简单
点赞 评论 收藏
分享
代码飞升AL:同学院本建议你换一个项目 就算你不去特意搜也应该知道点评不能写吧 保持投递不要停 然后快速弄一个项目换上去 公司就别挑了 我第一段120一天 快速跳就行
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务