力扣 5. 最长回文子串 python AC

devtools/2024/10/18 14:21:33/

动态规划

python">class Solution:def longestPalindrome(self, s):size = len(s)maxl = 1start = 0dp = [[False] * size for _ in range(size)]for i in range(size):dp[i][i] = Truefor L in range(2, size + 1):for i in range(size):j = L + i - 1if j >= size:breakif s[i] == s[j]:if L >= 4:dp[i][j] = dp[i + 1][j - 1]else:dp[i][j] = Trueif dp[i][j] and maxl < L:maxl = Lstart = ireturn s[start:start + maxl]

这里将dp数组含义设为当前位置是否是回文子串

--创建二维dp[i][j],表示从索引i到索引j位置的子串是否是回文子串(初始值为False)

--将每个单个字符设置为True(长度为1的子串一定是回文子串)

--从2到size遍历L(代表子串长度)(从长度为2开始,因为长度为1的上一步已经标为了True)

  --从0到size-1遍历i(代表子串起点)

    --通过子串长度L和子串起点i求出子串终点(索引为L + i - 1)

    --如果终点超过了整个字符串则退出

    --如果i位置字符和j位置字符相同

      --如果长度大于等于4

        --dp[i][j]是否是回文子串 = dp[i+1][j-1]是否是回文子串

      --否则(长度小于4,即没有更小的区间来推断)

        --dp[i][j] = True

      --判断长度是否比记录过的最大长度最大

        --是的话更新最大长度,并记录此时的起点i

--返回字符串s从start到start+最大长度的子串


http://www.ppmy.cn/devtools/42929.html

相关文章

15分钟Element-UI快速入门

Element-UI 是一个基于 Vue.js 2.0 的桌面端组件库&#xff0c;它提供了丰富的、可复用的组件&#xff0c;帮助开发者快速构建出美观且功能强大的网页应用。以下是一个 Element-UI 的快速入门指南&#xff1a; 1. 安装 Element-UI 首先&#xff0c;你需要在你的 Vue.js 项目中…

dolphinscheduler standalone安装

官方文档&#xff1a;https://dolphinscheduler.apache.org/en-us/docs/3.1.3/guide/installation/standalone 1.安装&#xff08;以放在/home为例&#xff09; 下载见&#xff1a;https://download.csdn.net/download/taotao_guiwang/89311365 tar -xvzf apache-dolphinsche…

【文末附gpt升级方案】TikTok Symphony AI套件:智能视频制作的新篇章

TikTok Symphony AI套件&#xff1a;智能视频制作的新篇章 摘要 随着短视频平台的兴起&#xff0c;视频内容的创作与制作已成为品牌方吸引用户、传递信息的重要手段。TikTok作为全球领先的短视频平台&#xff0c;近日宣布推出Symphony AI套件&#xff0c;旨在通过人工智能技术…

小白也会SQL:自动化SQL大模型(下)

这个专栏的解读的精选论文均围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计。技术宅麻烦死磕LLM背后的基础…

【学习AI-相关路程-工具使用-自我学习-jetsoncudapytorch-开发工具尝试-基础样例 (3)】

【学习AI-相关路程-工具使用-自我学习-jetson&cuda&pytorch-开发工具-安装尝试-基础样例 &#xff08;3&#xff09;】 1、前言2、环境说明3、自我总结&#xff08;1&#xff09;了解整体过程阶段 1: 硬件设置阶段 2: 软件准备阶段 3: 数据准备阶段 4: 模型设计和训练阶…

SpringBoot请求响应

Web请求响应 简单参数&#xff1a;在向服务器发起请求时&#xff0c;向服务器传递的是一些普通的请求数据。 那么在后端程序中&#xff0c;如何接收传递过来的普通参数数据呢&#xff1f; 简单参数 RestController public class RequestController {// http://localhost:808…

深入探索Pandas库:Excel数据处理的高级技巧

深入探索Pandas库&#xff1a;Excel数据处理的高级技巧 文章目录 深入探索Pandas库&#xff1a;Excel数据处理的高级技巧数据清洗填充缺失值替换数据 数据转换数据类型转换设置索引 数据聚合聚合函数透视表 数据合并合并数据连接数据 数据分组分组 数据重塑堆叠解堆叠 数据探索…

掌握C++回调:按值捕获、按引用捕获与弱引用

文章目录 一、按引用捕获和按值捕获1.1 原理1.2 案例 二、弱引用2.1 原理2.2 案例一2.3 案例二&#xff1a;使用base库的弱引用 三、总结 在C回调中&#xff0c;当使用Lambda表达式捕获外部变量时&#xff0c;有两种捕获方式&#xff1a;按值捕获和按引用捕获。 一、按引用捕获…