首页 > 其他分享 >代码随想录 -- 动态规划 -- 最长回文子序列

代码随想录 -- 动态规划 -- 最长回文子序列

时间:2024-11-28 10:57:52浏览次数:8  
标签:-- max 随想录 range 序列 dp 回文

516. 最长回文子序列 - 力扣(LeetCode)

思路:

dp数组的含义:

  • 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][j-1],dp[i+1][j])

初始化:

  • 当i=j时:dp[i][j]=1

遍历顺序:

  • 从下到上,从左到右

最终返回dp[0][n-1]

class Solution(object):
    def longestPalindromeSubseq(self, s):
        n=len(s)
        dp=[[0]*n for _ in range(n)]
        for i in range(n):
            dp[i][i]=1
        for i in range(n-1,-1,-1):
            for j in range(i+1,n):
                if s[i]==s[j]:
                    dp[i][j]=dp[i+1][j-1]+2
                else:
                    dp[i][j]=max(dp[i][j-1],dp[i+1][j])
        # print dp
        return dp[0][n-1]

标签:--,max,随想录,range,序列,dp,回文
From: https://blog.csdn.net/weixin_56989647/article/details/144103010

相关文章

  • 如何提升日用品行业生产效率?数字化管理成关键
    在日用品行业,快速反应和高效生产是生存之道。从采购、生产到物流配送,每一个环节都充满挑战。市场需求瞬息万变,交付周期日益缩短,任何一个环节的滞后都可能导致整个供应链的断裂。如何在繁忙的工作中保持高效协作、精准调度,并确保及时交付,是许多企业迫切需要解决的问题。但传统的管......
  • 代码随想录 -- 动态规划 -- 编辑距离
    72.编辑距离-力扣(LeetCode)思路:dp数组的含义:dp[i][j]:以i-1为结尾的word1和以j-1为结尾的word2的最少操作数为dp[i][j]递推公式:当word1[i-1]=word2[j-1]时:无需进行任何操作故dp[i][j]=dp[i-1][j-1]当word1[i-1]!=word2[j-1]时:删除一个字符:dp[i][j]=max(dp[i-1][j......
  • 从需求到交付,如何有效控制客户的预期?
    在现代企业管理中,客户预期的管理是项目成功的关键因素之一。无论是软件开发、产品设计还是咨询服务,项目能否成功完成往往取决于客户对于项目成果的预期。如果没有正确的预期管理,客户的需求与项目交付之间就容易产生偏差,进而影响客户的满意度和项目的最终成果。因此,如何准确理解并......
  • 046_pdb_debug_调试赋值语句_先声明赋值_再使用
    pdb_debug_调试赋值语句_先声明赋值_再使用回忆上次内容上次讲了赋值assignment亲手将值指派到变量中   添加图片注释,不超过140字(可选) 赋值语句能运行起来吗?......
  • cloudflare的CND使用,实现ipv4访问ipv6
    1、注册cloudflare,使用国内外邮箱均可,建议使用Edge浏览器,谷歌...2、修改腾讯云或阿里云,域名的DNS服务器。修改为cloudflare的域名服务器阿里云:3、到cloudflare,添加记录。4、获取API令牌。5、到ddns-go配置,让ddns-go定时更改域名ipv6地址。......
  • 使用logback集成logstash 达到ELK日志收集目的
    一、maven引入net.logstash.logbacklogstash-logback-encoder7.2二、配置文件配置logback-logstash.xmllogback-logstash.xml的配置信息<!--输出到logstash的appender--><appendername="logstash"class="net.logstash.logback.appender.LogstashTcpSocketApp......
  • 什么是随机变量序列
    什么是随机变量序列?随机变量序列就是一列按某种规则排列的随机变量.这种规则可以随意,但强调的是一个次序.例如: 若Xi表示第i次抛硬币的结果,那么{Xi}这个序列就是若干次抛硬币的结果序列.X1指第一次跑的结果,Xn指第n次抛的结果.若Yi表示前i次抛硬币正面向上的次......
  • 强大的jquery下拉分页选择插件SelectPage
    SelectPage.js是一款强大的jquery下拉分页选择插件。SelectPage.js下拉分页选择插件界面简洁,支持下拉,分页,键盘操作等功能。它的特点还有:在线演示  下载 插件基于jQuery开发,可在Bootstrap2、3环境下使用,亦可在原生无UI框架的环境下直接使用。兼容Bootstrap2、3样式,以及非......
  • Oracle系列---【关闭归档日志】
    1.问题数据库突然不能用了,排查后发现磁盘满了,清完归档日志之后,释放掉一半的磁盘空间,过一夜很快又满了,测试环境,为了节省资源决定关闭归档日志。2.查看是否开启归档日志#查看归档日志是否开启,使用sqlplus查询SQL>SELECTLOG_MODEFROMV$DATABASE;#或者SQL>ARCHIVELOGL......
  • 二元分类算法:C#实现支持向量机(SVM)与应用
    在机器学习中,支持向量机(SupportVectorMachine,SVM)是一种用于二元分类的常用算法。SVM的核心思想是通过找到一个最优的分隔超平面,将样本分为两个不同的类别。与逻辑回归不同,SVM强调的是“最大化两个类别之间的边界”,这使得它在高维空间中的表现尤其优异。本篇文章将带你了解......