【leedcode】0005. 最长回文子串

简介: 【leedcode】0005. 最长回文子串

【leedcode】0005. 最长回文子串


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


示例 1:

输入: "babad"

输出: "bab"

注意: "aba" 也是一个有效答案。

示例 2:

输入: "cbbd"

输出: "bb"

方法一:

def PalindromeMax(s):
  Max,res = 0,''
  for i in range(len(s)):
    for j in range(i,len(s)):
      t = s[i:j+1]
      if t==t[::-1] and Max<j-i+1:
        Max,res = j-i+1,t
  return res
'''
>>> a,b = 'babad','cbbd'
>>> 
>>> PalindromeMax(a)
'bab'
>>> PalindromeMax(b)
'bb'
>>> 
'''


方法二: lambda表达式

Max = lambda s: max([(len(s[i:j]),s[i:j]) for i in range(len(s)) for j in range(i+1,len(s)+1) if s[i:j]==s[i:j][::-1]])[1]
'''
>>> a='babad'
>>> Max(a)
'bab'
>>> 
>>> b='cbbd'
>>> Max(b)
'bb'
>>> 
'''



方法三:中心扩散法

def PalindromeMax(s):
  Max,res = 0,''
  for i in range(len(s)):
    for j in range(2):
      L,R = i,i+j
      while L>=0 and R<len(s) and s[L]==s[R]:
        if Max<R-L+1:
          Max,res = R-L+1,s[L:R+1]
        L -= 1
        R += 1
  return res
'''
>>> a,b = 'babad','cbbd','I am HannYang'
>>> PalindromeMax(a)
'bab'
>>> PalindromeMax(b)
'bb'
>>> PalindromeMax(c)
'nn'
>>> 
'''




目录
相关文章
|
关系型数据库 MySQL 数据库
你真的知道Show Master Status吗?
你真的知道Show Master Status吗?
393 1
|
7月前
|
存储 运维 Oracle
YashanDB V23.2 LTS发版 | 共享集群长期支持版本
YashanDB V23.2 LTS发版 | 共享集群长期支持版本
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
自然语言处理 前端开发
「前端秘籍」中文内容随机生成妙技
在前端开发中,生成随机中文字符是一项常见的需求。通过使用`Unicode码`和`GBK2312`编码,我们可以满足不同的需求,并生成符合特定编码方式的中文文本。
261 0
|
存储 测试技术
[飞腾]Trace32使用概述(1)
[飞腾]Trace32使用概述(1)
787 0
[飞腾]Trace32使用概述(1)
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的校园服务平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的校园服务平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
监控 安全 网络安全
数字堡垒之钥:网络安全与信息安全的深层防护
【4月更文挑战第8天】 在数字化时代,数据成为了新的货币,而网络安全则是保护这些“货币”不被非法获取、篡改或破坏的关键。本文将探讨网络安全漏洞的概念、加密技术的应用以及提升个人和企业的安全意识。通过分析当前网络威胁的面貌,我们揭示了安全防御的必要性,并提供了实用的策略和建议,以增强信息资产的保护。
|
存储
【C库函数】fgets详解
是一个可以从标准流中获取字符串的函数
【C库函数】fgets详解
|
传感器 安全
振弦采集仪和传感器组成的岩土工程监测方案
振弦采集仪和传感器组成的岩土工程监测方案
|
存储 Java 调度
手撕JAVA(2)多线程(1)概论
1.概念 程序 存储在磁盘上的一段指令的集合,是静态的。 进程 运行中的程序,指计算机在某个数据集合上的一次运行活动,每个进程都有独立的资源空间,是操作系统进行资源分配与调度的基本单位。 (数据集合包含两方便,一是数据,二是硬件资源,如CPU,IO等) 线程 又称轻量级进程,是为了提高资源利用率以及CPU的并发度,而对进程进行的一种优化。线程是进程中的一个个的实体,是进程的一个个的执行单元。同一进程的线程共享该进程的资源,即电脑所分配的资源空间。
154 0