day 46 | 回文序列

两道题目 分别是最长回文子序列的长度和个数。

当说回文子序列的时候有一个注意点就是 aa 这种也算是一个回文子序列。

在用动规解题的时候,我们会划分子问题来解决。 如果一个字符串是子序列,那么去掉首位仍然是子序列。

如果要让 aa 也符合的话,我们就可以让空字符串也为子序列。

由此可以得到最长的长度是这样的表达式

if s[i]==s[j]:
  dp[i][j]=dp[i+1][j-1]+2
else:
  dp[i][j]=max(dp[i+1][j],dp[i][j-1])

如果是计算回文子序列个数,则依次中心扩展。 主要是要考虑两个元素的情况。这里我统一考虑该元素和他的左元素进行扩展。

全部评论
是顺丰笔试吗
点赞 回复 分享
发布于 2024-09-19 19:00 天津

相关推荐

找到实习了 给了150一天 但是说是低代码 值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务