当前位置: 首页 > article >正文

Leetcode.5 最长回文子串 (快手面试题)

题目链接:5. 最长回文子串 - 力扣(LeetCode)

题目描述:

给你一个字符串 s,找到 s 中最长的 回文子串

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

解题思路:动态规划

具体可参考,求回文子串章节内容    链接:CSDN

本题在以上基础上增加了 指针start 标记回文子串的开始和max_len表示最长的回文子串长度

每次判断为回文子串时,与最长回文子串进行比较,若长度更长,则更新起始指针与长度

代码实现:

class Solution:
    def longestPalindrome(self, s: str) -> str:
        # 定义dp数组
        dp = [[False for _ in range(len(s))] for _ in range(len(s))]
        max_len = 0
        start = 0
        for i in range(len(s)-1,-1,-1):
            for j in range(i,len(s)):
                if s[i] == s[j]:
                    if j - i <= 1:
                        dp[i][j] = True
                        if max_len < j-i+1:
                           max_len = j -i +1
                           start = i
                    elif dp[i+1][j-1]:
                        dp[i][j] = True
                        if max_len < j - i +1:
                            max_len = j -i +1
                            start = i
        return s[start:max_len+start]


http://www.kler.cn/news/329262.html

相关文章:

  • Github相关
  • 二叉搜索数
  • Arch - 架构安全性_传输(Transport Security)
  • 【MySQL报错】---Data truncated for column ‘age‘ at row...
  • QT-MySQL QSqlDatabase: QMYSQL driver not loaded
  • LeetCode题练习与总结:行程和用户--262
  • 深度学习---------------------------深度循环神经网络
  • 浅谈计算机神经网络基础与应用
  • MySQL vs PostgreSQL:2024年深度对比与选择指南
  • Kotlin:1.8.0 的新特性
  • 开源23.6k star 一款即用型 OCR,支持 80+ 种语言和所有流行的书写脚本,只需几行代码即可实现文字识别功能。
  • 网易云多久更新一次ip属地
  • Java研学-BootStrapTable插件
  • $_POST = file_get_contents(“php://input“);是什么意思
  • C语言指针详解与应用(不断更新)
  • MongoDB 入门及实践
  • 【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU
  • MongoDB 聚合管道
  • Springboot3 + MyBatis-Plus + MySql + Vue + ProTable + TS 实现后台管理商品分类(最新教程附源码)
  • Webpack和GuIp打包原理以及不同
  • IDM下载器如何下载网盘文件 IDM下载器支持哪些网盘
  • 【数据库】Java 集成mongodb— MongoTemplate 详解
  • OpenCV图像文件读写(6)将图像数据写入文件的函数imwrite()的使用
  • YOLO11改进|卷积篇|引入可变核卷积AKConv
  • 程序计数器(学习笔记)
  • Docker 进入容器运行命令的详细指南
  • “图像识别技术:重塑生活与工作的未来”
  • Linux:编译,调试和Makefile
  • Spring MVC系统学习(一)——初识Spring MVC框架
  • AIGAME平台的由来与未来展望 —— 蒙特加密基金推动区块链与AI融合创新