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

你可能感兴趣的:(算法,leetcode)