代码随想录算法训练营第五十七天 | 回文子串,回文子序列

文章目录

  • 回文子串,回文子序列
    • 题目
    • 对题目的想法
    • 实现中/后的感想

回文子串,回文子序列

题目

647. 回文子串
516.最长回文子序列

对题目的想法

  • 回文子串看起来比较简单,用一个二维的boolean数组实现
  • 回文子序列想到了另一个子序列问题,最长连续递增子序列,一开始尝试用类似的想法实现

实现中/后的感想

  • 回文子串在没有看随想录的情况下一遍过,非常开心。随后尝试了下双指针法,不过代码很冗长不够简练。
  • 回文子序列一开始试图用递增子序列的思路来做,结果失败了。失败的原因:
    dp[i]定义为以s[i]为结尾的最长回文子序列,但这样无法进行状态保存。以aabaa为例子,dp[3] = "aa"dp[4] = "aabaa"。这里dp[4]的状态无法以dp[i], where i < 4的状态来推导。

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