机试刷题_NC17 最长回文子串【python】

news/2025/2/27 6:08:41/

NC17 最长回文子串

在这里插入图片描述

动态规划思路
1.定义状态:
设 dp[i][j] 表示字符串 A 从第 i 个字符到第 j 个字符是否为回文子串。
如果是回文子串,dp[i][j] = True,否则为 False。

2.状态转移方程:
如果 A[i] == A[j],并且 dp[i+1][j-1] 为 True,那么 dp[i][j] = True。
即:dp[i][j] = (A[i] == A[j]) and dp[i+1][j-1]。

3.边界条件:
单个字符一定是回文子串,即 dp[i][i] = True。
两个字符时,如果 A[i] == A[j],则 dp[i][j] = True。

4.初始化:
初始化所有长度为 1 的子串为回文子串。
初始化所有长度为 2 的子串是否为回文子串。

5.填充 DP 表:
从长度为 3 开始,逐步填充 DP 表,直到长度为 n。

6.结果:
在填充 DP 表的过程中,记录最长的回文子串长度。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param A string字符串 
# @return int整型class Solution:def getLongestPalindrome(self , A: str) -> int:# 动态规划n = len(A)if n<=1:return ndp = [[False]*n for i in range(n)]max_len = 1# 单个字符一定是回文子串for i in range(n): dp[i][i] = True# 检查长度为2的子串for i in range(n-1): if A[i]==A[i+1]:dp[i][i+1] = Truemax_len = 2# 检查长度大于2的子串for length in range(3,n+1): #子串长度从3到nfor i in range(n-length+1): #子串起始位置j = i+length-1          #子串结束位置if A[i]==A[j] and dp[i+1][j-1]:dp[i][j] = Truemax_len = max(max_len,length)return max_len

http://www.ppmy.cn/news/1575189.html

相关文章

【视频2 - 4】初识操作系统,Linux,虚拟机

&#x1f4dd;前言说明&#xff1a; ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;主要跟随B站博主灵茶山的视频进行学习&#xff0c;专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…

监听其他音频播放时暂停正在播放的音频

要实现当有其他音频播放时暂停当前音频&#xff0c;你可以使用全局事件总线或 Vuex 来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。 首先&#xff0c;你需要创建一个事件总线。你可以在项目的一个公共文件中创建它&#xff0c;例如 eventBus.js…

NFT质押:数字资产的价值裂变与收益体系深度解析

NFT质押开启数字资产的复利时当数字艺术品的拍卖价突破百万美元&#xff0c;当元宇宙土地交易量单日暴涨300%&#xff0c;NFT早已超越加密圈的热门概念&#xff0c;演变为承载真实价值的数字资产。在这场变革中&#xff0c;一个更深刻的趋势正在浮现&#xff1a;NFT正从"静…

Ubuntu22中的bash脚本记录

1 .for;do;done的使用对于批量处理非常方便 任务描述&#xff1a;需要使用多个不同位置的脚本&#xff0c;来处理一个路径下的数据集&#xff0c;在这个数据集中&#xff0c;还有若干不同的场景 脚本思想&#xff1a;为了简单方便&#xff0c;先赋值好各种路径&#xff0c;比…

数据驱动未来!天合光能与永洪科技携手开启数字化新篇章

在信息化时代的今天&#xff0c;企业间的竞争早就超越了传统产品与服务的范畴&#xff0c;新的核心竞争力即——数据处理能力和信息技术的应用。作为数据技术领域的领军者&#xff0c;永洪科技凭借其深厚的技术积累和丰富的行业经验&#xff0c;成功助力天合光能实现数字化升级…

excel单、双字节字符转换函数(中英文输入法符号转换)

在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节&#xff0c;ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入&#xff0c;如英文字母&#xff0c;英文输入法…

十、大数据资源平台功能架构

一、大数据资源平台的功能架构图总体结构 大数据资源平台功能架构图 关键组件&#xff1a; 1.用户&#xff08;顶行&#xff09; 此部分标识与平台交互的各种利益相关者。 其中包括&#xff1a; 市领导 各部门分析师 区政府 外部组织 公民 开发人员 运营经理 2.功能模…

STM32的C语言软件延时函数

STM32的延时方法很多&#xff0c;其中采用定时器延时&#xff0c;可以得到较为精确的延时&#xff0c;但是有时对延时精度要求不高的场合&#xff0c;采用软件延时&#xff0c;也是必须的。特别是在RTOS系统中&#xff0c;使用SysTick的普通计数模式对延迟进行管理&#xff0c;…