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

相关推荐
月明长歌1 分钟前
【码道初阶】【Leetcode606】二叉树转字符串:前序遍历 + 括号精简规则,一次递归搞定
java·数据结构·算法·leetcode·二叉树
子枫秋月1 分钟前
C++字符串操作与迭代器解析
数据结构·算法
鹿角片ljp2 分钟前
力扣234.回文链表-反转后半链表
算法·leetcode·链表
(●—●)橘子……3 分钟前
记力扣1471.数组中的k个最强值 练习理解
数据结构·python·学习·算法·leetcode
oioihoii6 分钟前
C++共享内存小白入门指南
java·c++·算法
Bruce_kaizy7 分钟前
c++图论————图的基本与遍历
c++·算法·图论
l1t11 分钟前
利用小米mimo为精确覆盖矩形问题C程序添加打乱函数求出更大的解
c语言·开发语言·javascript·人工智能·算法
亭上秋和景清13 分钟前
strlen;strcpy ;strcat
算法
_OP_CHEN14 分钟前
【算法基础篇】(三十五)图论基础之最小生成树:从原理到实战,彻底吃透 Prim 与 Kruskal 算法
算法·蓝桥杯·图论·最小生成树·kruskal算法·prim算法·acm/icpc
LYFlied19 分钟前
【算法解题模板】-【回溯】----“试错式”问题解决利器
前端·数据结构·算法·leetcode·面试·职场和发展