代码随想录算法训练营19期第57天

647. 回文子串

代码随想录

初步思路:动态规划。

总结:

dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串

当 s[i]==s[j] 时,需要判断 dp[i+1][j-1] 是不是一个回文串

if s[i] == s[j] && (j - i < 2 || dp[i + 1][j - 1]) ,dp[i][j]=true

用时:45分钟

516.最长回文子序列

代码随想录

初步思路:动态规划。

总结:

回文子串必须要是连续的,而回文子序列是可以不连续的

dp[i][j] :字符串 s [i, j] 范围内最长的回文子序列的长度为 dp[i][j]

当 s[i]==s[j] 时,dp[i][j] = dp[i + 1][j - 1] + 2;

当 s[i]!=s[j] 时,dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);

用时:30分钟

相关推荐
yuanbenshidiaos40 分钟前
C++----------函数的调用机制
java·c++·算法
唐叔在学习1 小时前
【唐叔学算法】第21天:超越比较-计数排序、桶排序与基数排序的Java实践及性能剖析
数据结构·算法·排序算法
ALISHENGYA1 小时前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(switch语句)
数据结构·算法
chengooooooo1 小时前
代码随想录训练营第二十七天| 贪心理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
算法·leetcode·职场和发展
jackiendsc1 小时前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
姚先生971 小时前
LeetCode 54. 螺旋矩阵 (C++实现)
c++·leetcode·矩阵
游是水里的游2 小时前
【算法day20】回溯:子集与全排列问题
算法
yoyobravery2 小时前
c语言大一期末复习
c语言·开发语言·算法
Jiude2 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试
被AI抢饭碗的人3 小时前
算法题(13):异或变换
算法