最长回文子串 --leetcode python

本文介绍了寻找字符串中最长回文子串的四种方法:暴力解法、动态规划解法、中心扩展法及马拉车算法,并提供了代码实现链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 的最大长度为1000。

示例 1:

输入: "babad"
输出: "bab"
注意: "aba"也是一个有效答案。

示例 2:

输入: "cbbd"
输出: "bb"

 

方法一:暴力解法  复杂度o(n^3)

方法二:动态规划解法 复杂度o(n^2)

方法三:中心扩展 复杂度o(n^2)   ,分类

1、像aba,这样长度为奇数。

2、想abba,这样长度为偶数。

方法四:马拉车 复杂度o(n)

代码:https://github.com/wq-tang/oj_train/tree/master/%E6%9C%80%E5%A4%A7%E5%9B%9E%E6%96%87%E4%B8%B2

参考

https://blog.youkuaiyun.com/dyx404514/article/details/42061017

https://www.cnblogs.com/mini-coconut/p/9074315.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值