代码随想录算法训练营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分钟

相关推荐
肥猪猪爸9 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn21 分钟前
二分基本实现
数据结构·算法
萝卜兽编程23 分钟前
优先级队列
c++·算法
盼海31 分钟前
排序算法(四)--快速排序
数据结构·算法·排序算法
一直学习永不止步1 小时前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
Rstln1 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
芜湖_2 小时前
【山大909算法题】2014-T1
算法·c·单链表
珹洺2 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
几窗花鸢2 小时前
力扣面试经典 150(下)
数据结构·c++·算法·leetcode
.Cnn2 小时前
用邻接矩阵实现图的深度优先遍历
c语言·数据结构·算法·深度优先·图论