力扣-动态规划-516 最长回文子序列

news/2025/3/6 23:14:42/

思路

  1. dp数组定义:[i, j]的字符串的最长回文子序列长度为dp[i][j]
  2. 递推公式:相等时,子序列+2 || i==j时赋值1; 不相等时,两个去掉首、去掉尾取最长
  3. dp数组初始化:都为0
  4. 遍历顺序:从下往上,左往右
  5. 时间复杂度:     O(n^2) 

代码

class Solution {
public:int longestPalindromeSubseq(string s) {vector< vector<int>> dp(s.size(), vector<int>(s.size(), 0));for(int i = s.size()-1; i>=0; i--){for(int j = i; j < s.size(); j++){if(s[i] == s[j]){if(j == i ){dp[i][j] = 1;}else{dp[i][j] = dp[i+1][j-1] + 2;}}else{dp[i][j] = max(dp[i][j-1], dp[i+1][j]);}}}return dp[0][s.size()-1];}
};


http://www.ppmy.cn/news/1577203.html

相关文章

【第16节】C++设计模式(行为模式)-Observer(观察者)模式

一、问题背景 观察者模式&#xff08;Observer Pattern&#xff09;是应用最广泛的设计模式之一&#xff0c;尤其是在实现 **Model/View/Controller (MVC)** 架构时&#xff0c;观察者模式起到了核心作用。MVC 架构通过将业务逻辑&#xff08;Model&#xff09;、用户界面&…

VBA信息获取与处理第五节:如何在单个工作表中查找某个给定值

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

第三节:基于Winform框架的串口助手小项目---串口操作《C#编程》

知识是无尽的宝藏&#xff0c;学习的过程虽有挑战&#xff0c;但每一次突破都是对自我的升华&#xff0c;向着更优秀的自己全力进发。 -----------WHAPPY 本节将重点介绍&#xff0c;如何修改控件的属性、SerialPort类的使用及实现串口初始化的操作 1.修改控件属性 修改属性…

200W数据去重入库的几种方法及优缺点

一种是先将所有数据入库&#xff0c;再用SQL去重&#xff0c;导出再导入&#xff1b;另一种是之前讨论过的先内存去重再入库。 先明确两种方法的步骤&#xff1a; 方法一&#xff1a;全量入库 → SQL去重 → 导出 → 再导入 方法二&#xff1a;先内存去重 → 直接入库 接下…

2025年上海安卓发展机遇

文章目录 一、上海重点打造的产业集群规划二、安卓开发者的机遇与行动建议三、政策与资源支持总结 本文首发地址 https://h89.cn/archives/320.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 一、上海重点打造的产业集群规划 根据上海市政府发布的《加快推进新型工…

PHP动态网站建设

如何配置虚拟主机 1. 学习提纲 本地发布与互联网发布&#xff1a;介绍了如何通过本地IP地址和互联网域名发布网站。 虚拟主机配置与访问&#xff1a;讲解了如何配置虚拟主机&#xff0c;并通过自定义域名访问不同的站点目录。 Web服务器配置&#xff1a;详细说明了如何配置A…

统一数据返回格式

目录 1、为什么需要统一数据返回格式2、统一数据返回格式的实现 1、为什么需要统一数据返回格式 统一数据返回格式的优点有很多&#xff0c;比如以下几个&#xff1a; 方便前端程序员更好的接收和解析后端数据接口返回的数据。降低前端程序员和后端程序员的沟通成本&#xff…

Mysql命令大全(创建数据库显示数据库删除数据库)

创建数据库 注意&#xff1a;创建数据库之前要先连接Mysql服务器 命令&#xff1a;create database <数据库名> 例1&#xff1a;建立一个名为xhkdb的数据库 mysql> create database xhkdb; 例2&#xff1a;创建数据库并分配用户 ①CREATE DATABASE 数据库名; …