LeetCode第五题:最长回文子串

5:

英文题面:

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.

Example 1:

Input: "babad"Output: "bab"Note: "aba" is also a valid answer.

Example 2:

Input: "cbbd"Output: "bb"

中文题面:

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

示例 1:

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

示例 2:

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

思路:

求回文子串,

最简单的思路是暴力搜索,检索所有的子串检查是不是回文串,这个时间复杂度为O(n^3)。

第二可以考虑中心扩展法,对字符串中每个字符考虑为回文串的中心,向两边扩张到最大,这里注意有两种回文串,一个是长度为奇数的回文串,中心为一个字符,长度为偶数的回文串,中心为2个相同的字符。这里时间复杂度是O(n^2)

第三:Manacher算法,时间复杂度为O(n)

实例给出第二种实现代码:

class Solution(object): def __init__(self): self.max_len = 0 self.start = -1 self.end = -1 def longestPalindrome(self, s): """ :type s: str :rtype: str """ for i in range(len(s)): self.find_str(i,i,s) self.find_str(i,i+1,s) return s[self.start:self.end+1] def find_str(self, left, right,s): while (left>=0 and right self.max_len: self.max_len = right - left - 1 self.start = left+1 self.end = right-1

最长回文串_LeetCode解析,第五题:最长回文子串相关推荐

  1. 字符串处理 —— 回文串相关 —— 添加/删除字符后是否为回文串

    [问题] 给定一个字符串,问对该字符串,是否能通过添加一个字符后变为回文串. 若可以,输出 YES,否则输出 NO 对于该问题,首先要明白,删除一个字符与添加一个字符在判断回文串中是等价的. [暴力枚 ...

  2. 刷leetcode第五题-最长回文字符串

    2019独角兽企业重金招聘Python工程师标准>>> char* longestPalindrome(char* s) {int max_len = 1;char* st = s; ...

  3. python输入多个字符串、输入最长的一串_无重复字符的最长子串(Python之暴力求解)...

    无重复字符的最长子串(Python之暴力求解) 例题: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: (1) 输入: "abcabcbb" 输出: 3 ...

  4. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 5 迅速判断回文串的Manacher算法...

    本文始发于个人公众号: TechFlow 题意 Given a string s, find the longest palindromic substring in s. You may assum ...

  5. bzoj 2565: 最长双回文串 manacher算法

    2565: 最长双回文串 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem. ...

  6. 通俗易懂的最长回文串图解、说明及Java代码(中心扩散法和Manacher算法)

    1. 回文串 作为程序员,回文串这个词已经见怪不怪了,就是一个字符串正着读和反着读是一样的,形式如abcdcba.bbaabb.这里涉及到奇回文和偶回文,奇回文指回文串的字符数是奇数,偶回文指回文串的 ...

  7. 2682. 【WC2012选拔12.17】最长双回文串

    Description 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为"abc",逆序为"cba",不相同). 输 ...

  8. 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串

    1. 最长回文串 一般用后缀数组或者后缀树可以解决, 用此方法:http://blog.csdn.net/v_july_v/article/details/6897097 预处理后缀树,使得查询LCA ...

  9. java 最长回文串_通俗易懂的最长回文串图解、说明及Java代码(中心扩散法和Manacher算法)...

    1. 回文串 作为程序员,回文串这个词已经见怪不怪了,就是一个字符串正着读和反着读是一样的,形式如abcdcba.bbaabb.这里涉及到奇回文和偶回文,奇回文指回文串的字符数是奇数,偶回文指回文串的 ...

最新文章

  1. 手机如何看python代码_python如何绘制iPhone手机图案?(代码示例)
  2. 图像补运算:ptr反色处理
  3. 【杂谈】参加有三AI秋季划4个月,薪资翻倍,我在有三AI都学了啥?
  4. sql 2008 R2添加对MySql的远程服务器链接
  5. 内网渗透,横向移动总结(mimikatz域控)
  6. 如何招到优秀的程序员(第二版)
  7. 数据库实验5 数据库的嵌套查询实验
  8. 统计学习方法读书笔记10-决策树
  9. IDEA创建maven聚合项目多模块项目并在Tomcat启动图解详细教程
  10. hdu 1788 最小公倍数(这题面。。。)
  11. matlab 三对角矩阵 追赶法,计算方法追赶法解三对角矩阵方程
  12. 如何安装ioncube扩展
  13. 显色指数(CRI)计算软件-升级版可视化界面
  14. python 自动化合并 ts 视频流
  15. excel提取身份证出生日期_Excel如何从身份证号码中提取年龄
  16. QQ会员等级升级加速正式开始
  17. padbineditor.php,《智龙迷城》padBinEditor修改器教学
  18. 手机连接Eclipse连接不上
  19. 【解决笔记本黑屏问题】
  20. ALBB 二叉树中相差最大节点的绝对差值

热门文章

  1. ABAP入门程序,你会了嘛?
  2. oracle 声明二维数组,[zt]C++二维数组讲解、二维数组的声明和初始化
  3. 绘制pr曲线图_生存分析如何绘制事件发生累计概率曲线图?
  4. java获取目录中最后被更改的文件_如何使用Java从目录中只获取10个最后修改过的文件?...
  5. owdcloud mysql_MySQL在Ubuntu远程配置
  6. linux虚拟机网络查看的方式
  7. 渗透测试必备技能,踩点信息收集
  8. 介绍一下python有趣的库-tqdm
  9. 计算机弹奏两只老虎爱跳舞,原神风物之诗琴乐谱大全
  10. java开放平台系统,java快速开发平台